變量(variables)
變量命名習慣
駝峰體
AgeOfOldboy = 56
NumberOfStudents = 80
下劃線(官方推薦)
age_of_oldboy = 56
number_of_student = 80
定義變量的low方式
1.變量名為中文、拼音 老男孩的年齡=56
2.變量名過長 oldboy_nianling=56
3. 變量名詞不達意 name2=‘北京市昌平區’
理想的表達方式
oldboy_gf_name = lisa
常量
常量即指不變的量,或在程式運作過程中不會改變的量
常量約定俗成用變量名全部大寫代表常量
AGE_OF_OLDBOY = 56
讀取使用者輸入
#name = input("what is your name")
#print("hello" + name )
#print("hello", name )
username = input("username: ")
password = input("password: ")
注釋
用#
數字類型
整數:int
小數:float
python 自動識别數字類型
type(age)
資料類型
基本類型:數字、字元串、布爾
資料集:清單、元祖、字典、集合
資料類型-數字類型
int(整型):32位取值範圍-2**31~2**31-1
64位取值範圍-2**63~2**63-1
long(長整型)
實際大小取決于記憶體,python3中取消long
字元串
加了引号的字元都被認為是字元串
name = "alex li"
hometown = 'shanghai'
msg = '''my name is alex, iam 22 years old!'''
單雙引号功能基本相同,區分情景
msg = "my name is alix, i'm 22 years old!"
多引号
msg = ''' 今天我想寫詩,歌頌一個我的同學'''
不加引号字元串預設為變量
字元串拼接
使用+實作拼接如 name=alice age= 10 name +age =alice10
資料類型-布爾型
兩個值:TRUE(真)和FALSE(假)
格式化輸出
name = input("name: ")
age = int(input("Age: "))
job = input("job: ")
hometown = input("howntown: ")
info = """======info of %s======
name = %s
age = %s
job = %s
hometown = %s
===========end========
"""%(name,name,age,job,hometown)
#%S = string
#%d = digit
#%f = float
print(info)
print(type(age))
運算符
算術、比較、邏輯、指派、成員、身份、位
算術:+、-、*、/、%(取餘)、//(取整除)、**(次方)
比較:==/<>(等于)、!=(不等于)、>、<、>=、<=
指派:=、+=(c+=a等于c=c+a)、-=、*=、/=
邏輯: and、or、not(反向值)
流程控制
單分支
if 條件:
滿足條件後要執行的代碼
雙分支
滿足條件執行代碼
else:
if條件不滿足就執行這段代碼
多分支
滿足條件執行代碼
elif 條件:
上面的條件不滿足就走這段
上面所有的條件不滿足就走這段
while循環
while 條件:
執行代碼。。。。。
if count ==50:
pass #過
Dead Loop
死循環
while True:
循環終止
break:完全跳出循環
continue: 跳出這一次循環
while else
python裡使用編碼
python 2代碼第1行輸入 #! -*- coding: utf-8 -*-
清單
功能:建立、查詢、切片、增加、修改、删除、循環、排序
L1 = [] #定義空清單
L2 = ['a','b','c','d'] #存4個值,索引未0-3
L3 = ['abc',['def','ghi']] #嵌套清單
建立空清單:list()、[]
L2 = ['a','b','c','d','a','e',1,2]
查詢:L2[2]->'c'
L2.index('a')-> 1
L2.count(4) -> 查找重複數
切片:L2[0:3] 顧頭不顧尾 -> ['a','b','c']
L2[0:-1] -> ['a','b','c','d','a','e',1]
L2[3:6]-> ['d','a','e']
L2[3:]-> ['d','a','e',1,2]
L2[:3]-> ['a','b','c']
L2[1:6:2]-> ['b','d','e']
L2[:]-> ['a','b','c','d','a','e',1,2]
L2[::2]-> ['a','c','a',1] 步長為2
增加
L2.append(‘peiqi’)//在表最後追加
L2.insert(1(表索引),'peiqi'(所插内容)) //插入
修改
L2[2] = 'ABC'
L2[1:3] = 'jack liu' -> ['a','j','a','c','k',' ','l','i','u','d','a','e',1,2]
删除
L2.pop()//删除表最後一個元素
L2.remove(‘j’)
del L2[0] -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]
del L2[2:6]
del L2 //删除表
循環
for i in L2:(i為臨時變量)
print(i) -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]
range(10) 循環臨時清單
排序
n = [1,3,4,5,7,9,13]
n.sort() //排序位置按照ASCII碼表順序排序
n.reverse() //反轉
清單拼起來 //n與n2都為清單
n + n2
n.extend(n2)
清空表元素
n.clear()
深淺copy
1.檢視記憶體位址
names = ['a','c','e',1,3,2,4,5]
id(names)
id(name[0])
a = 1 b = a b指向1的位址
n2 = names.copy()
names = ['a','c','e',1,3,2,4,5,['LT',24]
name [-1][0]-> 'LT'
import copy
n4 = copy.deepcopy(names)
字元串類型
1. 有序
2. 不可變