變量
1披诗、什么是變量
變指的是記錄的狀態(tài)是可以發(fā)生變化的
量是衡量/記錄現(xiàn)實(shí)世界中的某種特征/狀態(tài)
2撬即、為什么要用變量
是為了讓計(jì)算機(jī)能夠像人一樣去將一個(gè)事物的特征/狀態(tài)記憶下來(存到計(jì)算機(jī)內(nèi)存)以后可以取出來使用
3、如何用變量
定義變量的語法
age=18
變量名:相當(dāng)于一個(gè)門牌號呈队,是訪問到值的唯一方式
=:賦值符號是將值的內(nèi)存地址綁定給變量名age
值:用來表示狀態(tài)的 變量的使用:通過變量名用 print(age)
總結(jié):變量的使用規(guī)則:先定義剥槐,再通過變量名去引用
4.變量的命名規(guī)則
變量名定義的規(guī)則:(7條)
(1)變量名只能是 字母 數(shù)字 下劃線 任意組成.
(2)變量名的第一個(gè)字母不能是數(shù)字.
(3)變量名禁止以python中的關(guān)鍵字命名.
.['and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from',
'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass',
'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
(4)變量名建議不使用中文和拼音.
(5)變量名要具有意義.(通過變量名能大概反映出其具體的用途,例如sum 總數(shù))
(6)變量名要區(qū)分大小寫.
(7)變量名推薦寫法:
.駝峰體:大駝峰 MeetTheGirl 小駝峰 meetTheGirl(第一個(gè)單詞首字母小寫)
(補(bǔ))變量名不能過長
注釋
1.單行(當(dāng)行)注釋 # name = 'aaaa'
2.多行注釋
'''
name = 'aaaa'
name = 'aaaa'
name = 'aaaa'
'''
或
"""
name = 'aaaa'
name = 'aaaa'
name = 'aaaa'
"""
程序交互
1)name = input('請輸入你的名字')
注意:用input獲取到的內(nèi)容都是字符串
2)type() 查看數(shù)據(jù)類型
例:
name = input('請輸入你的名字')
輸入111
print(type(name))
結(jié)果 <class 'str'>字符串型
其他用法
if type(name)== str:
這個(gè)條件是成立的
密碼隱藏:
import getpass
user = input("請輸入用戶名:")
pwd = getpass.getpass("請輸入密碼:")
print(user,pwd)
格式化輸出 (3種方法)
--------- info of xiaowang ------
Name : xiaowang
Age : 22
job : Teacher
Hobbie: girl
------------ end ----------------
1)用%占位
%d 和 %i 都是替代整型數(shù)據(jù)的
%s 替代字符串
name = input("請輸入姓名")
age = input("請輸入年齡")
job = input("請輸入職業(yè)")
hobbie = input("請輸入愛好")
print('''
------------ info of %s ----------
Name : %s
Age : %d
job : %s
Hobbie: %s
------------- end ----------------
'''%(name,age,job,hobbie)) (多個(gè)元素,%(),如果就一個(gè)元素直接%元素,例如%name)
(注意位置和數(shù)量)
2)用f('{}')
name = input("請輸入姓名")
age = input("請輸入年齡")
job = input("請輸入職業(yè)")
hobbie = input("請輸入愛好")
print(f'''
------------ info of {name} ----------
Name : {name}
Age : {age}
job : {job}
Hobbie: {hobbie}
------------- end ----------------
''')
3)用字符串的format方法({1}中可以以數(shù)字指定位置)
name = input("請輸入姓名")
age = input("請輸入年齡")
job = input("請輸入職業(yè)")
hobbie = input("請輸入愛好")
print('''
------------ info of {} ----------
Name : {}
Age : {}
job : {}
Hobbie: {}
------------- end ----------------
'''.format(name,name,age,job,hobbie))
(注意位置和數(shù)量)
if循環(huán)
if條件語句 (5種結(jié)構(gòu))
if 為關(guān)鍵字
1)if 條件:
(縮進(jìn))代碼塊
2)if 條件:
print(3)
else:
print(4)
3)if 條件:
代碼塊
elif 條件:
代碼塊
elif 條件:
代碼塊
elif 條件:
代碼塊
4)if 條件:
代碼塊
elif 條件:
代碼塊
elif 條件:
代碼塊
elif 條件:
代碼塊
else:
代碼塊
5)if 嵌套
if 條件:
if 條件:
代碼塊
else:
代碼塊
else:
代碼塊
while循環(huán)
while循環(huán)(條件一直滿足就會永遠(yuǎn)循環(huán)下去)(4種結(jié)構(gòu))
while --- 關(guān)鍵字
1)while 條件:
縮進(jìn)代碼塊(循環(huán)體)
2)while 條件:
縮進(jìn)代碼塊(循環(huán)體)
else:
縮進(jìn)代碼塊
3)while 條件:
縮進(jìn)代碼塊
break
(break跳出循環(huán),結(jié)束循環(huán))
4)while 條件:
縮進(jìn)代碼塊
continue
(continue結(jié)束本次循環(huán),繼續(xù)下次循環(huán))
運(yùn)算符(5種,算數(shù)運(yùn)算符,比較運(yùn)算符,賦值運(yùn)算符,邏輯運(yùn)算符,成員運(yùn)算符)
1)算數(shù)運(yùn)算符
a + b # 加
b - a # 減
b * a # 乘
b / a # 除(有小數(shù)點(diǎn))
b % a # 取膜
b ** a # 冪 (幾次方)
b // a # 整除(沒有小數(shù)點(diǎn))
2)比較運(yùn)算符
a = 10
b = 20
b > a # 大于
b < a # 小于
b >= a # 大于等于
b <= a # 小于等于
b == a # 等于
b != a # 不等于
結(jié)果為 布爾值 True 或者False
3)賦值運(yùn)算符
a = 10 # a就是10
# a += 10 # a = a + 10 就是在自己的身上在就上一個(gè)自己
# print(a)
# a -= 10
# print(a) # a = a - 10
# a *= 10 # a = a * 10
# print(a)
# a /= 10 # a = a / 10
# print(a)
# a **= 10 # a = a ** 10
# print(a)
# a //= 10 # a = a // 10
# print(a)
# a %= 10 # a = a % 10
# print(a)
4)邏輯運(yùn)算符
與 或 非
and or not 優(yōu)先級not>and>or
and (同真為真,有假為假,同真取后,同假取前)
or (有真則真,同真取前,同假取后)
not(取相反的)
# if 3 > 2 and 5 > 9: # and 兩邊的條件都為真的時(shí)候才是真
# if 3 > 2 or 5 > 9: # or 兩邊的條件只要有一個(gè)為真就是真
# if not 3 > 5: # not 只要碰到真的就是假的,碰到假的就是真的 (總結(jié):對著干)
print(6 and 16)
# 數(shù)字做and運(yùn)算
# and前后的數(shù)字不為0的時(shí)候 1 and 2 == 2
0 and 2 == 0
# 取and后邊的數(shù)字,否則取0 2 and 0 == 0
# print(0 or 0) 0 and False == 0
# 兩邊同為假時(shí)取前邊的. False and 0 == False
# 數(shù)字做or運(yùn)算 1 or 2 == 1
# or前后的數(shù)字不為0的時(shí)候取or前面的數(shù)字, 0 or 1 == 1
# 否則有0的時(shí)候取非0 1 or 0 == 1
#兩邊同為0取后邊的那個(gè) False or 0 == 0
# print(0 or 0) 0 or False == False
# 優(yōu)先級()> not > and > or
# print(3 and 9 or 5 and 0 or 5 or 7)
# 9 or 0 or 5 or 7
# print(False and 0)
5)成員運(yùn)算符
in 存在
not in 不存在
print(6 and 16)
# in # 在
#
# not in # 不在
# s = '黑哥'
#
# ss = input("請輸入內(nèi)容:")
#
# if s not in ss: # '黑哥黑了'
# print(1)
# 如果SS在S中輸出1
6)運(yùn)算符優(yōu)先級
冪運(yùn)算(*)>正負(fù)號(+ - )>算數(shù)運(yùn)算符( / // + - )比較運(yùn)算符(< <= > >= == !=)>邏輯運(yùn)算符 (not and or)
初識編碼
ascii碼 不支持中文
python2 默認(rèn)編碼是 ascii碼
unicode 萬國碼 16位(2字節(jié)) 中文32位4字節(jié) a你
utf-8 最少使用8位(1字節(jié))英文1字節(jié) 歐洲 16位(2字節(jié)) 亞洲 24位(3字節(jié))
utf-16 最少使用16位(2個(gè)字節(jié))
gbk(國標(biāo) 國家標(biāo)準(zhǔn))
gbk 中文 2個(gè)字節(jié)
英文 1個(gè)字節(jié)
8(bit)位 == 1(byte)字節(jié)
基礎(chǔ)類型
1.數(shù)字型(int整型,float浮點(diǎn)型):用于比較和計(jì)算
34 + 56 加
34.0+56.8=90.8 加
56 - 34 減
34 * 56 乘
56 / 34 除 py3 結(jié)果為長整型
56 > 34 比較
# n = 56
print(n.bit_length()) 查看位數(shù)
0011 1000
128 64 32 16 8 4 2 1
python2 中有長整形 long 浪
python3 中全都是整型
布爾值 bool
True False
print(3>2)
print(3<2)
n = bool(6) # True 數(shù)字和布爾值可以進(jìn)行轉(zhuǎn)換
# print(n)
s = bool(-1) # True 數(shù)字和布爾值可以進(jìn)行轉(zhuǎn)換
print(s)
s1 = bool(0) # False 數(shù)字和布爾值可以進(jìn)行轉(zhuǎn)換
print(s1)
在數(shù)字轉(zhuǎn)換成布爾值的時(shí)候只有0是False 其余的都是True
n = int(True) # True 1
print(n)
n = int(False) # False 0
print(n)
2)str字符串型
區(qū)別
python2 字節(jié) str #py2 中
python2 字符串 unicode
python3 字節(jié) bytes
python3 字符串 str
在python中只要使用引號引起來的都是字符串
"name" 'name' "1" '1' """name"""
3)bool布爾型
bool 布爾值
True 真
False 假
4)轉(zhuǎn)換
字符串轉(zhuǎn)整型int()
num = int('8') # 通過int()把字符串8轉(zhuǎn)成數(shù)字8 轉(zhuǎn)換的內(nèi)容必須是'數(shù)字'
num = int('s') #報(bào)錯(cuò)不能運(yùn)行
整型轉(zhuǎn)字符串str()
s = str(8) #通過str()把數(shù)字8轉(zhuǎn)換成字符串8
整型轉(zhuǎn)布爾值
print(bool(1)) 結(jié)果True
print(bool(0)) 結(jié)果False
字符串轉(zhuǎn)布爾值
print(bool('s')) 結(jié)果True
print(bool('')) 結(jié)果False (注意這里是''空字符,不是空格' ')