------------ info of 張三 ----------- Name : 張三 Age : 22 job : IT ------------- end -----------------
name = input("Name:") age = input("Age:") job = input("Job:") msg = ''' ------------ info of %s --------------- # %s表明一個佔位符 Name : %s #表明name Age : %s #表明age Job : %s #表明job ------------- end ----------------- ''' % (name,name,age,job) # % 號把前面的字符串與後面變量關聯起來 print(msg)
注:%s字符串的佔位 %d 數字的佔位 %f 浮點數 字符串 %(數據)python
name = input("Name:") age = input("Age:") job = input("Job:") msg = ''' ------------ msg of %s ----------- Name : {name} Age : {age} Job : {job} ------------- end ----------------- ''' print(msg)
注:必須是python3.5以上版本才能夠使用app
int(str) #字符串轉換成int str(int) #int轉換成字符串函數
and 而且, 左右兩端同時爲真, 結果才能是真.
or 或者, 左右兩端有一個是真, 結果就是真
not 非, 非真即假, 非假即真
優先級: () > not > and > orspa
a=10,b=20code
in 是否在xxx裏面
content = input("請輸入你的評論") if "張三" in content or '李四' in content: print('你輸入的內容不合法') else: print("評論成功")
not in 是否不在xxx裏面
在python3中全部的整數都是int類型,但在python2中若是數據量比較大,會使用long類型,在python3中不存在long類型對象
字符串是不可變的對象, 因此任何操做對原字符串是不會有任何影響的blog
在python中,凡是用引號引發來的數據都是字符串 單引號,雙引號,三引號引發來沒有任何區別 name = '張三' name = "張三" name = '''張三'''
索引:索引就是下標,下標從0開始索引
s = "hello" # 從索引0開始取完字符串中每個字符 print(s[0]) print(s[1]) print(s[2]) print(s[3]) print(s[4])
切片:ip
字符串[start:end] 從start到end拿到數據 ,end取不到
字符串[start:end:step] 從start到end拿數據,每step個拿出來一個rem
step: + 左到右 - 右到左
s = "Java,Python,Php,C++" print(s[2:11:2]) #從第二個開始取,取到11,每兩個取一個 print(s[:4]) # Java 從開始切 print(s[4:]) # 從4切到結束 print(s[:]) # 從頭切到尾
upper() 轉化成大寫. 在忽略大小寫的時候
###用戶名密碼登陸應用場景### verify_code = "Axbn" uv_code = input(f"請輸入驗證碼{verify_code}:") if verify_code.upper() == uv_code.upper(): # 忽略大小寫 print("驗證碼正確") else: print("驗證碼錯誤")
strip() 默認去掉左右兩端的空白
###用戶輸入密碼應用場景### uname = input("請輸入用戶名:").strip() # 用戶輸入的內容必定要過濾掉左右兩邊的空白 upwd = input("請輸入密碼:").strip() if uname == "alex" and upwd == "123": print("登陸成功") else: print("登陸失敗")
replace() 字符串的替換
msg = input("請輸入你的信息:") if "黃賭毒" in msg: msg = msg.replace("黃賭毒", "***") print(msg)
split() 字符串切割, 結果是列表
s = "Hello Word Im superman" res = s.split() # 默認用空白切割 print(res)
startswith() 判斷是否以xxx開頭
s = "alex 特別喜歡他的特斯拉" print(s.startswith("alex")) # 判斷是否以alex開頭 print(s.endswith("特斯拉")) # 判斷是否以特斯拉結尾
find() 查找字符串中xxx字符的位置. 若是找不到返回-1
s = "Hello Word" print(s.find("z")) # 返回索引, 若是沒有, 返回-1
len() 內置函數,字符串長度
s = "Hello Word" print(len(s)) # len叫內置函數.和print同樣
bool=>int int(bool) True是1, False是0 str => bool bool(str) 空字符串串是False, 不空是True bool => str str(bool) 把bool值轉換成相應的"值"
和字符串差很少. 也具備索引和切片
append() 追加,添加在列表的末尾
l = ["張三", "李四"] l.append("劉能") print(l) #列表是能夠發生改變的
insert() 插入,在xxxx位置插入一個元素
l = ["張三", "李四"] l.insert(1, "王五") #在索引1前面,也就是李四前面插入"王五" print(l)
extend() 迭代新增,合併列表
l = ["張三", "李四"] s1 = ["王五","趙六"] l.extend(s1) print(l)
pop() 刪除,指定索引刪除,默認刪除最後一個
l = ["張三", "李四","王五","趙六"] l.pop() print(l)
remove() 刪除某個指定元素
del list[3]
clear() 清空列表
count() 計數
l = ["abc", "李四","王五","趙六"] #把ABC變大寫 l[0] = l[0].upper() print(l)
lst = ["abc", "李四","王五","趙六"] for n in lst: print(n)
例題:讓用戶輸入一個加法運算: 3+8+4+6+9 想辦法完成數學運算
s = input("請輸入一個加法運算:") lst = s.split("+") print(lst) sum = 0 # 開始循環 for item in lst: sum += int(item) print(sum)
適用場景:放一些不進行修改的數據,元組用()表示,空元組必須用tuple()來建立
注: 若是元組只有一個元素. 必須在末尾添加一個逗號
注:key不能夠重複,value沒有要求,而且要求key必須可哈希-> 不可變(int, str, tuple, bool, float)
直接用新key添加
dic = {} # 空字典 dict() dic["1"] = "張三" dic["2"] = "李四" dic["1"] = "王五" # key 不能夠重複. 會把數據覆蓋掉
setdefault(key, value) 若是key存在, 不新增. 不存在, 新增. 最後都查詢
dic = {} # 空字典 dict() dic["1"] = "張三" dic["2"] = "李四" dic.setdefault("1","趙六") dic.setdefault("3","趙六") print(dic)
1. pop(key) #指定key刪除
2. popitem() #刪除最後一個.
3. del dic[key] #指定key刪除
4. clear() #清空字典
dic[老key] = 新value
get(key) #使用key獲取value
dic[key] #查詢, 若是key不存在. 會報錯
循環:
for k in dic:
k
dic[k]
for k, v in dic.items():
print(k)
print(v)
相似dict存儲,只放key,可哈希,不可變,不重複,無序 {}能夠表示set集合
set() 建立空集合,幫助咱們去除重複
s = set() s.add("張三")
s = set() s.add("張三") s.add("李四") s.remove("張三")
lst = ["張三", "李四", "張三", "李四", '王五'] s = list(set(lst)) print(s)
lst = ["張三", "李四", "張三", "李四", '王五'] new_lst = [] for item in lst: if item not in new_lst: new_lst.append(item) print(new_lst)