python3基礎3--資料類型--資料運算--運算式if,python33--
一、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 False1 或 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 namesnames.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 )