python3基礎3--數據類型--數據運算--表達式if -else-while-for

一、python3 數據類型

1.1 數字
例如:1,2,3,4等
1.2??int(整型)?
在32位機器上,整數的位數為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647
在64位系統上,整數的位數為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
1.2.1 long(長整型)
跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由于機器內存有限,我們使用的長整數數值不可能無限大。

1.3 float(浮點型)
有理數:實數,虛數。
浮點數用來處理實數,即帶有小數的數字。類似于C語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。
1.4 復數
復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這里的x和y都是實數。
1.5 布爾值
真或假 True or False
1 或 0
1.6 字符串
"python3"
1.6.1 字符串的拼接(“+”)
python中的字符串在C語言中體現為是一個字符數組,每次創建字符串時候需要在內存中開辟一塊連續的空,并且一旦需要修改字符串的話,就需要再次開辟空間,數據量小還可以這么干,如果數據量非常大,沒必要單獨在拷貝一份相同的數據。
1.6.2 字符串格式化輸出(%占位符,{}占位符,format()方法)
name = "python3"
print? ("This is? %s "? % name)
注意:%s,字符串,%d,數字,%f,浮點數
{name = "python3"}
print('I\'m {},{}'.format('python3','Welcome to my space!'))
1.7 python數據類型之 列表(list)
例子:
names = ['python2','python2.7','python3','python3.6']
print(names)
1.7.1 select 查詢 切片
print(names[-4:])
print(names[:])
print(names[:-1])
print(names[::-1])
print(names[1:2])
print(names.index('python2'))
print(names.count('python3.6'))
1.7.2 insert 插入
names.append(1)
names.insert(1,"pth")
1.7.3 update 更新
names[1]="py"
names[:]="py"
1.7.4 del 刪除
del names[1]
del names
names.pop()
names.pop(1)
names.remove(names[1])
names.remove(“python2”)
1.8 python數據類型之 元組(tuple)
例子:
names = ('python2','python2.7','python3','python3.6','python3.6')
names.count("py")? ?### 統計py出現的次數
print(names.index('python2.7')) ###返回下標值
1.9 python數據類型之 列表(字典)
例子:
names = {'python2','python2.7','python3','python3.6','python3.6'}
stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.clear())

#輸出:None

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
stu2 = stu.copy()
print(stu2)

name = ['tom','lucy','sam']
print(dict.fromkeys(name))
print(dict.fromkeys(name,25))? #指定默認值


#輸出:{'tom': None, 'lucy': None, 'sam': None}
#? ? ?{'tom': 25, 'lucy': 25, 'sam': 25}

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.get('num2'))

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.keys())

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.valuses())

#輸出:Lucy

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.items())

#輸出:dict_items([('num2', 'Lucy'), ('num3', 'Sam'), ('num1', 'Tom')])

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
print(stu.keys())

#輸出:dict_keys(['num3', 'num1', 'num2'])

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
name = stu.pop('num2')
print(name,stu)

#輸出:Lucy {'num1': 'Tom', 'num3': 'Sam'}

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
name = stu.popitem()
print(name,stu)

#輸出:('num2', 'Lucy') {'num3': 'Sam', 'num1': 'Tom'}

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
name = stu.setdefault('num5')
print(name,stu)

#輸出:None {'num1': 'Tom', 'num2': 'Lucy', 'num5': None, 'num3': 'Sam'}

stu = {
? ? 'num1':'Tom',
? ? 'num2':'Lucy',
? ? 'num3':'Sam',
}
stu.update({'num4':'Ben'})
print(stu)

#輸出:{'num2': 'Lucy', 'num3': 'Sam', 'num1': 'Tom', 'num4': 'Ben'}
PS:注意copy 和deepcopy的區別,update和setdefault的區別。

二、python3 數據運算

算數運算:
+??
-
*
/
%
**
//

比較運算:
==
!=
<>
<
>
<=
>=

賦值運算:
=
+=
-=
*=
/=
%=
**=
//=

邏輯運算:
and?
or
not

成員運算:
in
not in


身份運算:
is?
is not

位運算:
&? 交 與
|| 并 或
^? 異或
~? 取反
>> 左移動
<< 右移動


#!/usr/bin/env python

a = 60? ? ? ? ? ? # 60 = 0011 1100
b = 13? ? ? ? ? ? # 13 = 0000 1101
c = 0

c = a & b;? ? ? ? # 12 = 0000 1100
print "Line 1 - Value of c is ", c
??
c = a | b;? ? ? ? # 61 = 0011 1101
print "Line 2 - Value of c is ", c
??
c = a ^ b;? ? ? ? # 49 = 0011 0001 #相同為0,不同為1
print "Line 3 - Value of c is ", c
??
c = ~a;? ? ? ? ? ?# -61 = 1100 0011
print "Line 4 - Value of c is ", c
??
c = a << 2;? ? ? ?# 240 = 1111 0000
print "Line 5 - Value of c is ", c
??
c = a >> 2;? ? ? ?# 15 = 0000 1111
print "Line 6 - Value of c is ", c

三、python3 控制循環表達式

3.1? if-else
場景一、用戶登陸驗證
# 提示輸入用戶名和密碼??
# 驗證用戶名和密碼
#? ? ?如果錯誤,則輸出用戶名或密碼錯誤
#? ? ?如果成功,則輸出 歡迎,XXX!

#!/usr/bin/env python
# -*- coding: encoding -*-

username = input("輸入用戶名:")
password = input("輸入密碼:")

?if username == "python3" and password == "python3":
? print ("歡迎,%s!", % username)
?else
? ? print ("error username or password")

#!/usr/bin/env python
# -*- coding: encoding -*-
import getpass

name = input('請輸入用戶名:')
pwd = getpass.getpass('請輸入密碼:')
??
if name == "python3" and pwd == "python3":
? ? print("歡迎,%s!", % username)
else:
? ? print("用戶名和密碼錯誤")
PS:注意縮進格式。
3.2? if elif else
場景二、猜年齡游戲
#!/usr/bin/env python
# -*- coding: utf-8 -*-
?
my_age = 18

user_input = int(input("input your guess num:"))

if user_input == my_age:
? ? print("Congratulations, you got it !")
elif user_input < my_age:
? ? print("Oops,think bigger!")
else:
? ? print("think smaller!")
3.3? while
count = 0
while True:
? ? print("一直會循環99次",count)
? ? count +=1
? ? if count == 100:
? ? ? ? print("測試通過")
? ? ? ? break
3.4? for?
需求一:還是上面的程序,但是遇到小于5的循環次數就不走了,直接跳入下一次循環

for i in range(10):
? ? if i<5:
? ? ? ? continue #不往下走了,直接進入下一次loop
? ? print("loop:", i )
需求二:還是上面的程序,但是遇到大于5的循環次數就不走了,直接退出

for i in range(10):
? ? if i>5:
? ? ? ? break #不往下走了,直接跳出整個loop
? ? print("loop:", i )

轉載于:https://www.cnblogs.com/dong-python3/p/8340755.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452903.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452903.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452903.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spark java教程_(Spark)學習進度十四(Spark之Java獨立應用編程)

環境如下:(更新了林子雨教程中不可使用的部分) Hadoop 2.6.0以上 java JDK 1.7以上 Spark 3.0.0-preview2 二、java獨立應用編程(在下載依賴jar包的過程中如遇到卡頓現象可以Ctrl+C停止下載,然后重新執行本條命令即可繼續下載相應的依賴jar包) 1、安裝maven ubuntu中沒有自帶…

nowcoderD Xieldy And His Password

題意:一個01序列,長度1e6,問有多少子串十進制是3的倍數 題解:DP[i][j]代表前i個并且以i為結尾,且十進制%3j的串的個數 #include<bits/stdc.h> #define maxn 1001000 using namespace std; char s[maxn]; long long dp[maxn][3], sum; int main(){while(~scanf("%s&q…

3D電視,你知道多少?

1.3D電視常見知識 系統概述篇 1、 什么是3D電視&#xff1f; 答&#xff1a;3D電視是一種能夠模擬實際景物的真實空間關系的新型電視&#xff0c;它利用人眼的視覺特性產生立體感&#xff0c;讓觀眾感受到觀看的影像是具有深度特性的三維立體場景&#xff0c;觀眾對延伸于屏幕…

testng.xml文件配置

TestNG的DTD檢查文件&#xff1a;http://testng.org/testng-1.0.dtd.php <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!--suite&#xff08;測試套件&#xff09;為根…

什么是分組轉發

分組轉發(forwarding)是指在互聯網絡中路由器轉發IP分組的物理傳輸過程與數據報轉發機制。根據分組的目的Ip地址與源Ip地址是否屬于同一個子網可分為直接轉發和間接轉發。 是直接轉發還是間接轉發&#xff0c;路由器需要根據分組的目的IP地址和源IP地址是否屬于同一網絡判斷。目…

java 棧 先進后出_數據結構: 先進后出——堆棧

棧是一種常用的數據結構&#xff0c;在生活中經常遇到這樣的例子&#xff0c;如鐵路調度站。本節將詳細介紹堆棧的實現過程。算法點撥(順序棧)棧是一種重要的數據結構。從數據結構的角度看&#xff0c;棧也是線性表&#xff0c;其特殊性在于棧的基本操作是線性表操作的子集&…

Spring Boot—07應用application.properties中的配置

方法1Value("${test.msg}") private String msg;方法2Autowired private Environment env; String value env.getProperty("test.msg");方法3RequestMapping(path"/${query.all}.json", methodRequestMethod.GET) ResponseBody public List&…

skip與direct模式區別 ,他們與CBP的關系

1 CBP表示殘差的編碼狀態,CBP一共6bit&#xff0c;低4位表示4個亮度8x8塊,第4位表示U,第五位表示V,如果相應的位為"1", 表示此塊有殘差系數,反之沒有殘差,此宏塊沒有被編碼.2 direct 是幀間宏塊的一種預測模式&#xff0c;而不是宏塊類型&#xff0c;而 S…

程序的裝入和鏈接過程

從用戶放入源程序進入操作系統到相應的裝程序在機器上運行&#xff0c;所經歷的主要階段有編譯階段 鏈接階段 裝入階段 和運行階段

[零基礎學JAVA]Java SE應用部分-34.Java常用API類庫

本季目標1、StringBuffer類 2、Runtime 類 3、包裝類與JDK 1.5的新特性——泛型 4、日期的操作類 5、Math類 6、Random類1、StringBuffer&#xff08;重點&#xff09; String 類的時候說過&#xff1a;String 類的內容一旦聲明則不可改變&#xff0c;改變的只是其地址。…

我所理解的機器學習

各位請移步到【http://www.cnblogs.com/cchHers/p/8945908.html】轉載于:https://www.cnblogs.com/cchHers/p/8933042.html

protobuf java文檔_Java中使用Protobuf

gradle依賴庫&#xff1a;implementation com.google.protobuf:protobuf-java:3.4.0implementation com.google.protobuf:protobuf-java-util:3.4.00.編寫.proto文件&#xff0c;編譯生成對應Java源文件&#xff1a;syntax "proto2";option java_generic_services …

python 數組和列表的區別

Python沒有數組&#xff1a; 只有元組(tuple)和列表(list)&#xff1b;元組一旦創建不可改變&#xff0c;例如&#xff1a;aatuple(1,2,3)&#xff1b;元組不能追加(append)元素&#xff0c;彈出(pop)元素等&#xff1b;只能對元組中的元素進行索引aa[0]&#xff0c;不能對其中…

內存空間 邏輯地址空間 相對地址 絕對地址

內存空間&#xff08;物理空間或絕對空間&#xff09;&#xff1a;由一系列存儲單元所限定 的地址范圍。 邏輯地址空間&#xff08;地址空間&#xff09;&#xff1a;由程序中邏輯地址組成的地址范圍。 相對地址&#xff08;邏輯地址&#xff09;&#xff1a;用戶程序經編譯后…

多租戶表設計

2019獨角獸企業重金招聘Python工程師標準>>> multi-tenant-databases-in-the-cloudtips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases團隊開發框架實戰—多租戶支持轉載于:https://my.oschina.net/yangjiandong/blog/1612626

java 讀取webapp文件_在Java Webapp和Java Normal應用中讀取公共外部屬性文件

但是&#xff0c;我們有以下一些特殊要求&#xff0c;Webapp將部署到tomcat。格式為.jar的普通Java應用程序將放在/ myapp文件夾下myappConfig.property文件將放置在/ myapp下客戶端計算機上的目錄結構/myapp/myapp.jar/assests/myappConfig.property/tomcat/webapps/myapp.war…

CSS實現樹形結構 + js加載數據

看到一款樹形結構&#xff0c;比較喜歡它的樣式&#xff0c;就參照它的外觀自己做了一個&#xff0c;練習一下CSS。 做出來的效果如下&#xff1a; 拉莫小學 一年級 一班二班二年級三年級 一班二班三班樹的dom結構&#xff1a; <div class"tree"><ul><…

python中__init__函數以及參數self

1.class類包含&#xff1a; 類的屬性&#xff1a;類中所涉及的變量 類的方法&#xff1a;類中函數 2. _init_函數&#xff08;方法&#xff09; 首先說一下&#xff0c;帶有兩個下劃線開頭的函數是聲明該屬性為私有,不能在類地外部被使用或直接訪問。init函數&#xff08;方…

程序的裝入方式

1 絕對裝入方式 2 可重定位裝入方式 3 動態運行時裝入方式

嵌套集合模型(Nested set model)介紹

原文鏈接&#xff1a;www.pilishen.com/posts/an-in… 此文檔是 nestedset-無限分類正確姿勢的擴展閱讀 本文翻譯自維基百科Nested set model nested set model(嵌套集合模型)是一種在關系型數據庫中表示nested sets&#xff08;嵌套集合&#xff09; 的特殊技術。[nested sets…