初識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