a = 1 # 聲明變量 a # 變量的名字 = # 賦值 1 # 值
變量定義的規則: 1.變量由數字,字母,下劃線組成 2.不能以數字開頭 3.不能使用python中關鍵字 4.不能使用中文和拼音 5.區分大小寫 6.變量名要具備描述性 7.推薦寫法 7.1駝峯體 7.2下劃線
什麼是變量? 變量就是將一個臨時的值存儲在內容中(存儲中間值/起別名)
常量:ID = 11012013014066 常量就是不變的量
單行註釋 # 多行註釋 """ """ ''' ''' 被註釋的內容是否是會執行的
數字: 用於計算和比較(int)python
字符串:在python中只要是用引號引發來的就是字符串(str)linux
加法 -- 同是字符串才能相加 乘法 -- 只能和數字進行相乘
'''my name's "meet"''' 引號配合使用
布爾值:返回真假值 用於判斷(bool)git
True 真 False 假
print(bool(0)) 數字中非零的都是True
注意:input獲取到的內容全都是字符串算法
int() -- 將字符串中的數字轉換成整型windows
type() -- 查看數據類型編碼
單if if else 二選一 if elif elif 多個選擇一個或者零個 if elif elif else 多個選一個 if if if 多選多或零 if 嵌套 進行多層判斷 通常if嵌套寫三層就能夠了
例題:請輸入用戶名密碼,而且判斷正確 # and # 和 and前邊的內容爲真而且and 後邊的內容爲真纔是真 if user == "zbb" and pwd == "123": print("密碼正確") else: print("密碼或帳戶錯誤!")
#基本語法 while 條件: 循環體
經常使用3d
falg = True while falg: print(1) print(2)
示例code
#打印1到5 count = 1 while count <= 5: print(count) count = count + 1
# 倒序打印從 57 - 25 count = 57 while count >= 25: print(count) count = count - 1
break 終止當前循環,break下方的代碼不會進行執行對象
continue 跳出當前循環繼續下次循環blog
while else的用法
while False: #條件不成立時走else只執行一次 print(111) break else: print(2212)
打斷循環的方式:
1.本身修改條件
2.break
%s 是佔的字符串類型的位置
%d 是佔的數字類型的位置
%% 轉換成普通的%號
按照位置順序傳遞,佔位和補位必需要一一對應
s=''' ============================= name %s age: %s job: %s ============================ ''' name =input("name") age=input("age") job=input("job") print(s%(name,age,job))
s = f"今天下雨了{input('>>>')}" print(s)
假設a=10,b=20
and 詳解
and 都爲真的時候取and後邊的值 and 都爲假的時候取and前面的值 and 一真一假取假的
or詳解
or 都爲真的時候取or前邊的值 or 都爲假的時候取or後面的值 or 一真一假取真的
() > not > and > or
從左向右執行
成員運算符
in 存在
not in 不存在
ascii (老美)不支持中文 gbk (國標) 英文 8位 中文16位 unicode (萬國碼)英文16 位 中文 32位 utf-8 (可變長的編碼) 英文8位 歐洲文 16位 亞洲24位
linux -- utf-8
mac -- utf-8
windows -- gbk
單位轉換
1字節 = 8位 1Bytes = 8bit *** 1024Bytes = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB *** TB就夠用了 1024TB = 1PB 1024PB = 1EB
用於比較和運算的
32位 -2 ** 31 ~ 2 ** 31 -1
64位 -2 ** 63 ~ 2 ** 63 -1
十進制轉二進制的算法 除2 取餘,獲取的全部餘數從下往上進行計算 二進制轉十進制的算法 從右向左,依次乘以2的次方 1101 1* 2**0 + 0 * 2**1 + 1*2**2 + 1* 2**3
python2 整型 int -- long(長整型) /獲取的是整數
python3 整型 int / 獲取的是浮點數(小數)
print(int("10101",2)) # 將二進制轉換成十進制 print(bin(21)) # 將十進制轉換成二進制
print(bool(1)) # 數字非零的就是True 零就是False print(bool("")) # 字符串不爲空就是True ,字符串中沒有任何內容就是False
name = "zxcv" z x c v 每個字母叫作一個元素 0 1 2 3 從左向右 -4-3-2-1 從右向左 索引經過索引能夠精確的定位到某個元素
print(name[0:2]) # 顧頭不顧尾 name[起始位置:終止位置] print(name[:]) # 某個位置不指定的時候默認取最後或最前 print(name[-2:-5:-1]) # [起始位置:終止位置:步長] 步長默認爲1 print(name[100:105]) #切片的時候起始位置和終止位置都超出的時候不會進行報錯 print(name[100]) # 索引的時候索引值超出範圍的時候回報錯
s="zbb"s1 = s.upper() #所有大寫print(s1)
s1 = s.lower() # 所有小寫print(s1)
應用場景
應用場景 s = input("驗證碼(AbC5)") if s.upper() == "AbC5".upper(): print("驗證碼正確") else: print("驗證碼錯誤!")
a="zbbb" s1=a.startswith("b",3) #正數 print(s1) #True
s1 =a.endswith("b",3) #數字是倒數的 print(s1) #True
s="qwertyuz" s1=s.count("q") print(s1) #1
默認除去字符串頭尾兩端的空格和換行符以及製表符
n = input("請輸入密碼:") if n.strip() == "123": print(1) else: print(2)
指定內容除去
name = '****egon88888**' print(name.strip('*')) # lstrip 除去左邊的 rstrip除去右邊的
默認以空格和換行符以及製表符進行分割
s = "qwlewlqelw" # s1 = s.split("l",maxsplit=1) s1 = s.split("l",1) #分割幾回 print(s1)
s = "qwlewlqelqw" # s1 = s.replace("qw","www") s1 = s.replace("qw","www",1)#替換次數 print(s1)
print(s.isalnum()) # 判斷是否是字母,數字,中文 print(s.isalpha()) # 判斷是否是字母,中文 print(s.isdigit()) # 判斷字符串是否是全都是阿拉伯數字 print(s.isdecimal()) # 判斷是不是十進制
print(len(name))
語法
name = "你好啊" for i in name: # for循環 print(i) # for 關鍵字 # i 是變量名 # in 關鍵字 # name 可迭代對象
name = "zbb" for i in name: # for循環 pass print(i) #啊
錯誤的示範
name = True for i in name: print(i) # 數據類型中只有整型和布爾值不可以進行for循環