今日是學習python的第003課,本節課主要學習了變量值的三個特征、常量、基本資料類型、格式化輸入輸出及基本運算符。
變量值的三個特征
1、id:變量值的唯一編号,變量值的記憶體位址不同則id不同
2、type:類型
3、value:數值
常量
在python程式編寫中,約定俗成用全大寫表示的變量名代表常量
資料類型定義
一、什麼是資料類型
資料就是存放的變量值,資料類型就是變量值的類型
二、變量值為何要區分資料類型
因為變量值記錄的是現實事物的特征,是以針對不同的特征就需要有不同類型的值加以區分辨別
基本資料類型
一、數字類型
1、整型int:年齡、身份證号碼、電話号碼等整數類型的數字
例如:
age=18
2、浮點型float:身高、薪資、體重等會有小數類型的數字
例如:
salary=2.5
二、字元串類型str:名稱、家庭住址、性别、單個愛好等描述性的文字
定義:在引号(單引号、雙引号、三引号)内包含一串字元
例如:
name='RX79G'
三、清單list:記錄多個值,比如人的多個愛好,一個班級裡多個同學的姓名、性别
定義:在中括号[]内用逗号分隔開多個任意類型的值
例如:
test=[18,2.5,'RX79G',['a','b','c',['abc','cba']]]
四、字典dict:記錄多個key:value的值
定義:在大括号{}内用逗号分隔開多個key:value的值,其中value可以是任意資料類型,而key通常應該是字元串類型
例如:
info={'name':'RX79G',
'age':34,
‘sex’:'male',
'hobby':['music','game','read','tourism']}
五、布爾類型bool:True/False,用來辨別條件是否成立
例如:
age=18
print=(age>100)#結果為:False
print=(age<100>
所有類型的值都自帶布爾值,當資料類型的值為0、none、空時,布爾值為False,除此以外都為True
格式化輸入輸出
1、input:在python3中的input會将使用者輸入的任何内容都存成str字元串類型
例如:
name=input('請輸入您的使用者名:')
pwd=input('請輸入甯的密碼:')
ifname=='RX79G'andpwd=='123'
print('登陸成功')
else:
print('使用者名或者密碼錯誤')
2、print:輸出結果
基本運算符
一、算術運算
print(10+2)
print(10/3)結果有整有餘
print(10//3)結果取整,去掉小數部分
print(10%3)結果取餘
print(2**3)2的3次方
二、比較運算
比較運算隻能在同類型資料之間進行,其中int整型與float浮點型同屬于數字類型
例如:
print(10>2.5)
print(10>=10)
三、指派運算
1、增量指派
例如:
age=18
age=age+1#這是複雜的表達
age+=1#這是簡單的表達,等同age=age+1
print(age)#結果為:19
x=10
x%=3#x=x%3
print(x)#結果為:1
2、鍊式指派
例如:
a=b=c=d=e=10
print(aisbiscisdise)#結果為:True
3、交叉指派
例如:
x=10
y=20
x,y=y,x
print(x,y)#結果為:2010
4、解壓指派
例如:
nums=[1,2,3,4,5]
a,b,c,d,e=nums
print(a,b,c,d,e)#結果為:12345
如果隻需要給前3位指派,如下
mums=[1,2,3,4,5]
a,b,c,_,_=muns
print(a,b,c)#結果為:123
四、邏輯運算:and、or、not
and:連接配接左右兩個條件,兩個條件必須都成立,最後結果才為True。一旦左邊條件為False則最終結果就為False,不會再去計算右邊的條件。
例如:
print(1>2and3>1)#結果為:False
or:連接配接左右兩個條件,兩個條件中隻要有一個成立,結果就是True。一旦左邊條件為True,則最終結果就為True,不會再去計算右邊的條件;一旦左邊條件為False,還需要去計算右邊條件,如果結果為True,最終結果也為True,否則反之。
not:取反
例如:
print(1>2)#結果為:False
print(not1>2)#結果為:True
五、身份運算:is與==
is:比較的是id是否相等
==:判斷值是否相等
例如:
x=10
y=x
print(id(x),id(y))
print(xisy)
print(x==y)#結果為:id相等,值一定相等。
還有一種情況,值相等id不一定相等(在cmd中運作得出的結果)
x=1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
y=1111111111111111111111111111111111111111111111111111111111111111111111111111111111111
id(x)
2181129522824
id(y)
2181129523040
xisy
False
x==y
True
作業
一、pythontest.py執行的三個階段是什麼?在哪個階段識别檔案内的python文法?
答:三個階段分為:
1、運作python解釋器
2、python解釋器将python檔案由硬碟讀入記憶體
3、python解釋器解釋執行剛剛讀入記憶體的代碼,開始識别python文法
是以在第三階段,python解釋器才開始識别python文法
二、将下述兩個變量的值交換
s1=’alex’
s2=’SB’
答:
s1,s2=s2,s1
print(s1,s2)
三、判斷下述結果
msg1=’alexsaymynameisalex,myageis73,mysexisfemale’
msg2=’alexsaymynameisalex,myageis73,mysexisfemale’
msg1ismsg2
msg1==msg2
答:
True
True
四、什麼是常量?在python中如何定義常量
答:常量就是不會變化的數值,在python中約定成俗使用全大寫的變量名表示常量。
五、有存放使用者資訊的清單如下,分别存放使用者的名字、年齡、公司資訊
userinfo={
'name':'egon',
'age':18,
'company_info':{
'cname':'oldboy',
'addr':{
'country':'China',
'city':'Shanghai',
}
}
}
要求取出該使用者公司所在的城市
答:
print(userinfo[‘company_info’][‘addr’][‘city’])
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
取第二個學生的第二個愛好
答:
print(students[1][‘hobbies’][1])
要求取出三名學生的詳細資訊分别指派給三個變量(用一行代碼實作)
答:
a,b,c=students
print(a,b,c)
程式設計小白陸玮珉
2018年9月13日