學習python這麼久,這些騷操作你不會不知道吧?

 

目錄

python數據類型轉換&&格式化輸出

Python--循環--for && while

Python模擬用戶登錄場景

Python--字典操作

Python--列表操作

Python--字符串操作

 

學習python這麼久,這些騷操作你不會不知道吧?

 

正文開始

python數據類型轉換&&格式化輸出

①python的數據類型包含:數字、字符串、列表、元組、字典、集合這六種基本數據類型。不同數據類型的數據可以進行類型的轉換。

使用input讓用戶輸入的數據默認爲字符串類型;

1 name = input("name:")
2 age = input("age:")
3 print(type(name))
4 print(type(age), type(int(age)))
5 
6 >>>name:xiaoming
7 >>>age:20
8 <class 'str'>
9 <class 'str'> <class 'int'>

②格式化輸出主要使用以下三種方式:

1 name = input("name:")
2 age = int(input("age:"))
3 job = input("job:")
4 salary = input("salary:")
方式一、
1 info = '''
2 -------- info of  %s  -----            #%s,%d 爲佔位符
3 Name:%s
4 Age:%d
5 Job:%s
6 Salary:%s
7 ''' % (name,name,age,job,salary)
8 print(info)

>>>name:xiaoming
>>>age:20
>>>job:python developer
>>>salary:10000
-------- info of xiaoming -----
Name:xiaoming
Age:20
Job:python developer
Salary:10000
 方式二、
 1 info2 = '''
 2 -------- info of {_name}  -----
 3 Name:{_name}
 4 Age:{_age}
 5 Job:{_job}
 6 Salary:{_salary}
 7 '''.format(_name=name,
 8            _age=age,
 9            _job=job,
10            _salary=salary)
>>>name:xiaoming
>>>age:20
>>>job:python developer
>>>salary:10000
-------- info of xiaoming -----
Name:xiaoming
Age:20
Job:python developer
Salary:10000
方式三、
1 info3 =  '''
2 -------- info of {0} -----
3 Name:{0}
4 Age:{1}
5 Job:{2}
6 Salary:{3}
7 '''.format(name,age,job,salary)
>>>name:xiaoming
>>>age:20
>>>job:python developer
>>>salary:10000
-------- info of xiaoming -----
Name:xiaoming
Age:20
Job:python developer
Salary:10000

 Python--循環--for && while

for循環示例:猜數字遊戲

 1 winning_number = 38
 2 for i in range(3):
 3     guess_num = int(input("guess num:") )
 4     if guess_num == winning_number :
 5         print("yes, you got it. ")
 6         break
 7     elif guess_num < winning_number:
 8         print("think smaller...")
 9     else:
10         print("think bigger!")
11 else:
12     print("you have tried too many times..")

while循環示例:死循環

1 count = 0
2 while True:
3     print("I love You!!!---%d" %(count))
4     count += 1
5     if count > 999:
6         break

while循環示例:猜數字遊戲

 1 winning_number = 38
 2 count = 0
 3 while count <3:
 4     guess_num = int(input("guess num:") )
 5     if guess_num == winning_number :
 6         print("yes, you got it. ")
 7         break
 8     elif guess_num < winning_number:
 9         print("think smaller...")
10     else:
11         print("think bigger!")
12     count +=1
13 else:
14    print("you have tried too many times..")

while循環升級:根據用戶輸入來決定是否終止遊戲

 1 winning_number = 38
 2 count = 0
 3 while count <3:
 4     guess_num = int(input("guess num:") )
 5     if guess_num == winning_number :
 6         print("yes, you got it. ")
 7         break
 8     elif guess_num < winning_number:
 9         print("think smaller...")
10     else:
11         print("think bigger!")
12     count +=1
13     if count == 3:
14         countine_confirm = input("do you want to keep guessing..?")
15         if countine_confirm != 'n':
16             count =0

Python模擬用戶登錄場景

簡單模擬登錄場景,將已知的用戶名及密碼固化,通過用戶輸入內容和已固化的內容比較進行判斷用戶名和密碼是否輸入正確。

在用戶輸入時,將密碼隱藏需要導入模塊getpass

 1 import getpass
 2 
 3 _username = 'xiaoming'
 4 _password = '123456'
 5 username = input("username:")
 6 password = getpass.getpass("password:")
 7 if _username == username and _password == password:
 8     print("Welcome user {name} login...".format(name=username))
 9 else:
10     print("Invalid username or password!")

Python--字典操作

字典的增刪改查及遍歷

 1 info = {
 2     "stu3":"yuanyuan",
 3     "stu1":"tianjie",
 4     "stu2":"wangxinlin"
 5 }
 6 print(type(info)) #輸出類型
 7 print(info)
 8 print(info["stu1"]) #查找 條件:適用於確定有該鍵值,沒有鍵值時報錯
 9 print(info.get("stu00")) #沒有時返回None
10 print(info.get("stu1")) #有就返回value
11 
12 print("stu02" in info) #判斷是否存在該數據,如果存在返回True,不存在返回False
13 # info.has_key("stu1") # 適用於py2
14 
15 info["stu2"] = "fenglubei"  #修改
16 print(info)
17 info["stu4"] = "wangxinlin" #沒有該鍵時新增
18 print(info)
19 
20 del info["stu1"] #刪除
21 print(info)
22 
23 info.pop("stu2") #刪除特定鍵值
24 print(info)
25 
26 info.popitem() #隨機刪
27 print(info)
28 
29 #字典嵌套
30 shuqike = {
31     "gongsi":{
32         "kaifa":["ma","jiaming","jiao","yuan","yaqiong","zhendong"],
33         "yunwei":["yecai","majin"]
34     },
35     "SJS":{
36         "kaifa":["cong","jiang"],
37         "yunwei":["feng","tian","xinlin","yuanyuan"]
38     }
39 }
40 print(shuqike)
41 
42 #查
43 print(shuqike["gongsi"]["kaifa"][2])
44 print(shuqike["SJS"]["yunwei"][2])
45 
46 #改
47 shuqike["gongsi"]["kaifa"][2] = "zhen"
48 print(shuqike)
49 
50 #增加
51 shuqike["gongsi"]["jiagou"] = ["hou","peng"]
52 print(shuqike)
53 
54 #高級
55 zimu = {
56     "大寫":["A","B","C"],
57     "小寫":["a","b","c"]
58 }
59 print(zimu.keys()) #獲取列表裏的所有key
60 print(zimu.values()) #獲取列表裏的所有value
61 
62 # setdefault,在字典裏取值,當能取到值時就不動字典,當取不到值時,創建一個
63 zimu.setdefault("qita", [1,2,3])
64 zimu.setdefault("大寫", ["D"])
65 print(zimu)
66 
67 #update,存在交叉,更新值,不存在鍵則新增
68 b = {
69     "小寫":"fff",
70     1:2,
71     3:4
72 }
73 zimu.update(b)
74 print(zimu)
75 
76 print(zimu.items()) #字典轉列表
77 
78 c = dict.fromkeys([6,7,8],"test") #創建一個字典,key爲678,值都爲test
79 print(c)
80 
81 d = dict.fromkeys([1,2,3],[1,{"name":"tinajie"},333])
82 print(d)
83 d[3][1]["name"] = "yuanyuan"  #都改,並不是只改一個
84 print(d)
85 
86 #字典的遍歷
87 for i in zimu:
88     print(i) #只打印key
89     print(i,zimu[i])
90 
91 for k,v in zimu.items():  #效率低於上面那種,因爲要轉成列表
92     print(k,v)

Python--列表操作

列表的操作:增刪改查以及列表的三種拷貝方式

 1 names = ["tianjie","yecai","haitao","xinlin"]
 2 names.append("tianjie") #列表在尾部新增
 3 print(names)
 4 print(names[0],names[2])
 5 print(names[1:3])
 6 # 查
 7 print(names[-1])
 8 print(names[-2:])
 9 print(names[(names.index("xinlin"))]) #list.index("x"),求x的索引
10 print(names.count("tianjie")) #計算列表中“tianjie”的數量
11 names.clear()#清空
12 names.reverse()#反轉
13 names.sort()#排序
14 name2 = [1, 2, 3, 4]
15 names.extend(name2) #在尾部一次性增加另一個列表的所有元素
16 print(names)
17 del  name2 #刪除整個列表
18 print(name2)
19 names2 = names.copy() #淺拷貝
20 print(names2)
21 print(names)
22 # 增
23 names.insert(1,"lubei")
24 print(names)
25 names.insert(3, "xin")
26 print(names)
27 # 改
28 names[2] = "xiedi"
29 print(names)
30 # 刪
31 names.remove("lubei")
32 print(names)
33 del names[1]
34 print(names)
35 names.pop(1)
36 print(names)
37 
38 # 列表的拷貝
39 import copy
40 
41 person=['name',['saving',100]]
42 p1=copy.copy(person)
43 print(p1)
44 p2=person[:]
45 print(p2)
46 p3=list(person)
47 print(p3)

 Python--字符串操作

在python3中對字符串的操作如下

 1 info = "you are \t{name} and age is {age}"
 2 print(info.capitalize())  #首字母大寫
 3 print(info.count("g"))  #計算字符串中g的數量
 4 print(info.center(50,"-")) #打印50個字符,將變量打印在中間
 5 print(info.endswith("g")) #判斷是否以某字符結尾,結果返回一個布爾值
 6 print(info.expandtabs(2))  #擴展空格或製表符
 7 print(info.find("r")) #返回查找字符的索引
 8 print(info[info.find("are"):7]) #字符串切片
 9 print(info.format(name="dog", age="2")) #格式化輸出
10 print(info.format_map({'info':'dog','age':'3'})) #格式化輸出,可以傳字典
11 print('ab123'.isalnum()) #isalnum:是否是一個阿拉伯的字符(包含字母和數字)
12 print('ab123'.isalpha()) #是否爲純英文字符,大小寫均可
13 print('1A'.isdecimal()) #是否爲十進制數
14 print('1.2'.isdigit()) #是否爲整數
15 print('_a1a'.isidentifier()) #判斷是不是一個合法的標識符(是不是一個合法的變量名)
16 print('a'.islower()) #判斷是否爲小寫
17 print('2121'.isnumeric()) #判斷是否爲一個數字(只有數字才行,不能包含字母和小數點)
18 print(' '.isspace()) #判斷是否爲一個空格
19 print('Aa Bb cc'.istitle()) #判斷是否每個字符串是否都大寫字母開頭
20 print('a'.isprintable()) #判斷是否可打印,字符串都可以,除了tty,drive文件(設備驅動程序,linux下所有皆爲文件)
21 print(''.isupper()) #判斷是否都爲大寫
22 print('abc'.join("===")) #將abc加到===中間  結果:=abc=abc=
23 print('ab'.join(['1','2','3','4']))  #結果爲字符串:1ab2ab3ab4
24 print('+'.join(['1','2','3','4'])) #結果爲:1+2+3+4
25 print(info.ljust(50,"*")) #字符串長度50,不夠的話左側輸出字符串右側用*在側補全
26 print(info.rjust(50,'-')) #字符串長度50,不夠的話右側輸出字符串左側用-在側補全
27 print('App'.lower()) # 把大寫變小寫
28 print('App'.upper()) # 把小寫變大寫
29 print('\nbdd\n'.lstrip()) #去除左邊的空格
30 print('\nbdd\n'.rstrip()) #去除右邊的空格
31 print('   dog is you  '.strip()) #去除左右兩側的空格
32 p = str.maketrans("abcdef",'123456') #定義加密規則
33 print('alex li'.translate(p)) #將字符串加密
34 print('alex li'.replace('l', 'L', 1)) #將l替換爲L,1表示替換1個,不寫表示全部替換
35 print('alex li'.rfind('l')) #從左往右數,輸出最後面這個字符的索引
36 print(info.split()) # 不加參數則將字符串按空格裁成列表
37 print("alex li laa".split('l')) # 將字符串根據l裁成列表
38 print('1+2+3+4'.split('+')) #將數字提取出來
39 print('1+2\n+3+4'.splitlines()) #按換行裁成列表
40 print('Alex li'.swapcase()) #大寫變小寫,小寫變大寫
41 print('lex li'.title()) #將首字母變大寫
42 print('lex li'.zfill(50)) #用0填充夠50位

學習資料

小編爲大家準備了一些學習資料,希望大家能夠喜歡,免費的分享給大家!Python電子書大全

1.Python入門學習路線

1.Python的自述

2.Python開發環境的搭建

3.print函數的使用

4.轉義字符與原字符

5.二進制與字符編碼

6.保留字_標識符_變量及其使用

7.數據類型

8.Python中的註釋

10.input函數的使用

11.算術運算符

12.賦值運算符

13.比較運算符

14.布爾運算符

15.位運算符

16.運算符的優先級

17.程序的組織結構_對象布爾值

18.單分支_雙分支_多分支結構

1.Python電子書大全(僅展示部分資料)

學習python這麼久,這些騷操作你不會不知道吧?

 

文章到此結束了,希望對大家有幫助,喜歡的記得關注一下小編,點贊收藏奧。還有小編把這些學習資料都已整理完畢,需要的小夥伴私信“學習”即可獲得獲取方式。感謝大家的閱讀 ,記得關注轉發收藏奧!

如果需要更多學習資料,查看小生的這篇文章:https://blog.csdn.net/weixin_46780321/article/details/106128114(站內網址)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章