python3 格式化輸出,字符串操作,模塊,列表,元組


初識python,在網上看了老男孩的視頻,建立一個博客將自己所學的python知識記錄下來。

input加密,用於輸入密碼的階段。

1 import getpass
2 user = input("username:")
3 passwd = getpass.getpass("password:")

格式化輸出

 1 name = input("name:")
 2 age = int (input("age:"))
 3 job = input("job:")
 4 
 5 info = '''
 6 __________________%s  info_____________________
 7 name=%s
 8 age=%s
 9 job=%s
10 '''%  (name,name,age,job)
11 
12 info2 = '''
13 __________________{_name}  info2_____________________
14 name={_name}
15 age={_age}
16 job={_job}
17 '''.format (_name=name,
18            _age=age,
19           _job=job)
20 
21 info3 = '''
22 __________________{0}  info3_____________________
23 name={0}
24 age={1}
25 job={2}
26 '''.format(name,age,job)

print("info",info)
print("info2",info2)
print("info3",info3)

info
__________________xiaoming info_____________________
name=xiaoming
age=22
job=it

info2
__________________xiaoming info2_____________________
name=xiaoming
age=22
job=it

info3
__________________xiaoming info3_____________________
name=xiaoming
age=22
job=it

 

字符串操作

 1 name = "xiaoming"
 2 
 3 print(name.count("i"))   #打印變量中有幾個i
 4 print(name.capitalize()) #首字母大寫
 5 print(name.casefold())   #大寫全部變小寫
 6 print(name.center(50,"-"))#字符串需要有50位,如果不夠,用“-”補齊(---------------------xiaoming---------------------)
 7 print(name.encode())       #將字符串轉換為二進制編碼
 8 print(name.endswith("g"))  #判斷字符串結尾是否為"g",如果是,責返回True,不是責False
 9 print("xiao\tming".expandtabs(1))   #將\t轉換為1個空格位
10 print("My name is {user}".format(user="xiaomgang"))  #格式化輸出(My name is xiaomgang)
11 print(name.find("o"))     #在字符串中找到"o"的下標
12 print("My name is {name}".format_map({'name':'xiaogang'}))   #格式化輸出V2
13 print("1".isdigit())       #判斷是否為整數
14 print("1abcde".isalnum())     #如果 string 至少有一個字符並且所有字符都是字母或數字則返回 True,否則返回 False
15 print("eEEFAEFXCFCX".isalpha())       #判斷是否為a-y ,A-y
16 print("19".isdecimal())           #如果字符串是否只包含十進制字符返回True,否則返回False。
17 print("1  2   3".index("3"))     #返回3的位置,空格也算,這里返回的7
18 print("abc".islower())             #判斷是否為小寫英文字符
19 print("1".isnumeric())            #如果字符串中只包含數字字符,則返回 True,否則返回 False
20 print("EFAFADS".isprintable())   #檢查字符是否可以打印
21 print(" ".isspace())              #判斷是否為空格
22 print("my".isidentifier)          #判斷字符是否可作為變量名稱
23 print("Abc".istitle())            #如果字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫則返回 True,否則返回 False.
24 print("BBB".isupper())            #如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False
25 print("-".join({'xiaoming','xiaomei','xiaogang'}))  #將"-"作為分隔符,結果(xiaogang-xiaoming-xiaomei)
26 print("abc".ljust(10,'@'))        #如果不夠10位字符責在字段后面用@填充(abc@@@@@@@)
27             #rjust                  #在字段前增加
28 print("111111my name is111 xiaoming 11111".strip('1'))   #去除頭尾字符,中間的不會動,如果參數不加'1'責去除空行(my name is111 xiaoming )
29 print("1111111abc111111".lstrip('1'))               #返回截掉字符串左邊的空格或指定字符后生成的新字符串。#不加1會去掉回車\n
30                             #rstrip                      #截掉右邊指定的字符
31 print("AbCdE".lower())      #返回將字符串中所有大寫字符轉換為小寫后生成的字符串(abcde)
32 p=str.maketrans('abcde','12345')
33 print("hello my name is xiaoming ".translate(p))    #abcde對應着12345,print一個字符串時引用上面的策略,(h5llo my n1m5 is xi1oming)
34 print("my name is xiaoming".partition('name'))    #將"name"特別標識起來,左右的字符也標識起來('my ', 'name', ' is xiaoming')
35 print("My Name is XiaoMing".swapcase())        #大小寫互換(mY nAME IS xIAOmING)
36 print("my name is xiaoming and my dog is wangcai".replace('is','Is',1))   #將is轉換為Is,只轉換從左至右的第一個匹配到的,如果將1刪除,將匹配所有is更改為Is(my name Is xiaoming and my dog is wangcai)
37 
38 print("my name is xiaoming".zfill(40))         #字符如果不夠40位,從左邊用"0"補齊(000000000000000000000my name is xiaoming)

列表

 

 1 import copy    #列表中數據之間的copy
 2 
 3 
 4 
 5 
 6 names=  ["xiaoming","xiaogang",["daming","damei"],"xiaomei","xiaohong"]
 7 for i in names[::-3]:             #切片打印  8     print(i)
 9 names2 = copy.deepcopy(names)     #深copy,copy一次被copy的變量的值后,不受其他因數影響,不會變更,可以理解為,賦值一次,永久存在
10 names[0] = "小明"
11 names2= names.copy()              #淺copy,列表中可以套列表,淺copy是將第一層的列表數據copy過來,當第一層列表更改后,就無法copy了,更改數據后就不是第一層列表了。
12 names[2][0] = "DAMING"
13 print(names)
14 print(names2)
15 
16 print(names[0],names[-1],names[0:2],names[-2:-1],names[:3],names[-2:]) #分別是,打印第一段,最后一段,最后2段,開頭段也就是0段到第二段的數據不包括xiaohong,,倒數第二段到最后一段的數據的數據(['xiaomei', 'xiaohong'])
17 print(names.count("xiaoming"))                          #打印變量中有幾個"xiaoming"
18 print(names.index("xiaoming"))                          #打印變量中的值在第幾位(python中的記位方式:0,1,2,3....)
19 names.clear()                                           #清除列表中的所有的值
20 names.insert(0,"xiaolizi")                              #插入一段數據,將原先在第一位的"xiaoming"擠到第二位
21 names2=["daming","damei"]
22 names.extend(names2)                                    #在names變量中擴展加入names2變量中的值, 擴展后結果: ['xiaoming', 'xiaogang', 'xiaomei', 'xiaohong', 'daming', 'damei']
23 names.pop(0)                                            #刪除第一個段
24 names.remove("xiaoming")                                #根據字段名稱刪除一個段
25 del names[0]                                            #刪除第一個字段
26 names.reverse()                                         #翻轉,翻轉后的結果:['xiaohong', 'xiaomei', 'xiaogang', 'xiaoming']
27 names.sort()                                            #排序,優先級依次是:特殊符號-》數字-》大寫-》小寫   測試的結果:['#xiaoming', '1xiaomei', 'Xiaogang', 'xiaohong']
28 names.append("xiaogangpao")                             #在最后一行加入一個段

元組中的參數是不可變的,一次定義數據后,后期只能查詢無法增加。

1 test=("xiaoming","xiaogang","xiaohong")   #元組,只能查詢
2 test2=[["xiaoming"],["xiaogang"]]
3 test2.append(["xiaomei"])
4 select=test.index("xiaohong")
5 print(test2,test,select)
6 結果:[['xiaoming'], ['xiaogang'], ['xiaomei']]
7  ('xiaoming', 'xiaogang', 'xiaohong')
8  2

模塊的認識

 1 import os    #可調用系統命令在系統中執行操作
 2 import sys    3 
 4 print  (sys.path)       #打印命令查找路徑,如linux中的echo $PATH
 5 print(sys.argv)          #打印執行此命令的文件的絕對路徑  (['E:/TEST/test.py'])
 6 print(sys.argv[0])      #結果E:/TEST/元組test.py    通過這個方式可以直接獲取到絕對路徑從而cd進去
 7 abc=os.system("dir")    #通過os模塊調用系統命令dir查看當前目錄下的內容,值無法保存至變量中,按照這種方式保存,abc的值會是0 代表執行成功
 8 abc2=os.popen('dir').read() #將dir讀取的內容存儲到abc2變量中,可以進行存儲
 9 os.mkdir("new_file")    #在執行文件同級目錄創建一個文件
10 print("--------",abc,abc2)

 如何有顏色的打印一段話?

1 name="xiaoming"
2 age =  22
3 print("welcome to china %s  your age is  \033[32;1m%s\033[0m"%(name,age))     #32,綠色  31,紅色   42背景綠  41背景紅
4 
5 
6 welcome to china xiaoming  your age is 22

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM