python學習(day2)

來源:互聯網
上載者:User

標籤:python

1、常用資料類型

name = "jack"#字串 stringage = 24#整型intheight =1.75#浮點型floatprint(type(name),type(age),type(height))

2、字串與bytes類型轉換

msg = "我愛北京天安門"print(msg.encode(encoding="utf-8"))#字串轉bytes類型print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))#bytes類型轉字串

3、字典

‘‘‘字典是另一種可變容器模型,且可儲存任意類型對象。字典的每個索引值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括弧({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }鍵必須是唯一的,但值則不必。值可以取任何資料類型,但鍵必須是不可變的,如字串,數字或元組。‘‘‘info = {    ‘stu1101‘:‘jack‘,    ‘stu1102‘:‘rose‘,    ‘stu1103‘:‘marry‘}print(info)print(info[‘stu1101‘])info[‘stu1101‘]=‘傑克‘#字典修改info[‘stu1104‘]=‘Lily‘#字典修改,不存在則添加print(info)print(info.get(‘stu1105‘))#擷取,有就傳回值,沒有返回nonedel info[‘stu1101‘]#刪除info.pop(‘stu1102‘)#刪除info.popitem()#隨機刪除print(info)print(‘stu1106‘ in info )#判斷stu1106是否在info字典裡,在就返回TRUE,不在返回FALSE#多級字典嵌套及操作:city = {    "湖南省":{        "長沙市":["嶽麓區","常德"]    },    "重慶市":{        "涪陵":["榨菜","一般"]    },    "北京市":{        "天安門":["長城","金山"]    }}print(city)city["北京市"]["天安門"][0]="故宮"#修改print(city)print(city.values())#列印值print(city.keys())#列印keycity.setdefault("上海市",{"浦東":["楊思","東方體育中心"]})#新增,有就返回其原來的值,沒有就建立一個新的city.setdefault("重慶市",{"浦東":["楊思","東方體育中心"]})print(city)a = {    ‘stu1101‘:‘jack‘,    ‘stu1102‘:‘rose‘,    ‘stu1103‘:‘marry‘}b = {    ‘stu1101‘:‘jack‘,    1:2,    3:4}print(a)a.update(b)print(a)#更新,有替換,沒有就新增print(a.items())#字典轉列表c=dict.fromkeys([6,7,8],‘test‘)#初始化一個新的字典,print(c)#字典的迴圈:d = {    ‘stu1101‘:‘jack‘,    ‘stu1102‘:‘rose‘,    ‘stu1103‘:‘marry‘}for i in d:    print(i,d[i])for  j,k in d.items():    print(j,k)

4、字串操作

name = "my \tname is jack"print(name.capitalize())#capitalize()方法返回字串的一個副本,只有它的第一個字母大寫。對於8位的字串,這個方法與語言環境相關。print(name.count(‘a‘))#count() 方法用於統計字串裡某個字元出現的次數。選擇性參數為在字串搜尋的開始與結束位置。print(name.center(50,‘-‘))#center() 返回一個原字串置中,並使用空格填充至長度 width 的新字串。預設填充字元為空白格print(name.encode(encoding=‘utf-8‘))#encode() 方法以 encoding 指定的編碼格式編碼字串。errors參數可以指定不同的錯誤處理方案。print(name.endswith("ck"))#endswith() 方法用於判斷字串是否以指定尾碼結尾print(name.expandtabs(tabsize=30))# expandtabs() 方法把字串中的 tab 符號(‘\t‘)轉為空白格,tab 符號(‘\t‘)預設的空格數是 8print(name.find(‘name‘))#find() 方法檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,如果包含子字串返回開始的索引值,否則返回-1。print(name[name.find(‘name‘):9])name = "my name is {name} and {year} old "print(name.format(name=‘jack‘,year=24))#格式化字串的函數str.format()print(name.format_map({‘name‘:‘jack‘,‘year‘:23}))print(name.index(‘name‘))#尋找name的位置print(‘as123‘.isalnum())#isalnum() 方法檢測字串是否由字母和數字組成,如果 string 至少有一個字元並且所有字元都是字母或數字則返回 True,否則返回 Falseprint(‘asdA‘.isalpha())# isalpha() 方法檢測字串是否只由字母組成。print(‘21‘.isdecimal())#isdecimal() 方法檢查字串是否只包含十進位字元;這種方法只存在於unicode對象。注意:定義一個十進位字串,只需要在字串前添加 ‘u‘ 首碼即可。str = u"this2009"print(‘2341‘.isdigit())#isdigit() 方法檢測字串是否只由數字組成print(‘a1A‘.isidentifier())#判斷是不是一個合法的標識符print(‘asd‘.islower())#islower() 方法檢測字串是否由小寫字母組成。print(‘123‘.isnumeric())# isnumeric() 方法檢測字串是否只由數字組成print(‘    ‘.isspace())#isspace() 方法檢測字串是否只由空格組成print(‘My Name‘.istitle())# istitle() 方法檢測字串中所有的單詞拼字首字母是否為大寫,且其他字母為小寫print(‘‘.isprintable())#printable :包含所有可列印字元的字串print(‘DSF‘.isupper())#isupper() 方法檢測字串中所有的字母是否都為大寫。str = "-";seq = ("a", "b", "c"); # 字串序列print(str.join(seq))#join() 方法用於將序列中的元素以指定的字元串連產生一個新的字串。print(‘+‘.join([‘1‘,‘2‘,‘3‘]))print(name.ljust(50,‘1‘))# ljust() 方法返回一個原字串靠左對齊,並使用空格填充至指定長度的新字串。如果指定的長度小於原字串的長度則返回原字串。print(name.rjust(50,‘1‘))print(‘asASasdf‘.lower())#lower() 方法轉換字串中所有大寫字元為小寫print(‘asASasdf‘.upper())#upper() 方法轉換字串中所有小寫字元為大寫print(‘name is jack‘.lstrip(‘name‘))#lstrip() 方法用於截掉字串左邊的空格或指定字元。print(‘name is jack\n‘.rstrip())#不填預設去掉右邊空格和分行符號print(‘\nname is jack\n‘.strip())#左右都去掉#print(‘‘.maketrans())‘‘‘maketrans() 方法用於建立字元對應表的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字串,表示需要轉換的字元,第二個參數也是字串表示轉換的目標。註:兩個字串的長度必須相同,為一一對應的關係。‘‘‘intab = "aeiou"outtab = "12345"trantab = str.maketrans(intab, outtab)str = "this is string example....wow!!!"print(str.translate(trantab))print(‘my is is is is ‘.replace(‘is‘,‘was‘,3))#replace() 方法把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個參數max,則替換不超過 max 次。print(‘my is is is is‘.rfind(‘is‘))#rfind() 返回字串最後一次出現的位置,如果沒有匹配項則返回-1。print(‘my is is is is‘.split(‘i‘))#split()通過指定分隔字元對字串進行切片,如果參數num 有指定值,則僅分隔 num 個子字串print(‘ab c\n\nde fg\rkl\r\n‘.splitlines())#splitlines() 按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含分行符號,如果為 True,則保留分行符號。print(‘sadfAASDASDjasAS‘.swapcase())#swapcase() 方法用於對字串的大小寫字母進行轉換print(‘jAck is‘.title())#title() 方法返回"標題化"的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())。print(‘this is string example....wow!!!‘.zfill(50))# zfill() 方法返回指定長度的字串,原字串靠右對齊,前面填充0。

5、元組

names = (‘jack‘,‘rose‘)#與列表類似,不同之處在於元組的元素不能修改

6、列表操作

names = [‘zhangsan‘,‘lisi‘,‘wangwu‘,‘xieliu‘,‘xieliu‘]names.append(‘xiaolu‘)#追加,預設在最後names.insert(1,‘chenglong‘)#插入names.insert(3,‘wangli‘)#插入names[2]=‘xiedi‘#修改print(names)print(names[0],names[2])print(names[1:3])#切片,起始位置1包括,結束位置3不包括print(names[-1])#取列表最後一個值print(names[-2:])#取最後兩個值print(names.index(‘wangwu‘))#尋找wangwu的位置print(names[names.index(‘wangwu‘)])print(names.count(‘xieliu‘))#統計xieliu的數量#names.clear()#清空列表names.reverse()#反轉列表names.sort()#排序names2 = [1,2,3,4]names.extend(names2)#合并names2到namesnames3 = names.copy()#複製names到names3,註:只複製第一層(淺copy)#deletenames.remove(‘zhangsan‘)#刪除del names[1]#刪除names.pop()#刪除,未寫下標預設刪除最後一個

7、列表複製(淺copy&深copy)

import copynames = [‘zhangsan‘,‘lisi‘,[‘liudeyi‘,‘jack‘],‘xieliu‘,‘xieliu‘]names2 = names.copy()#複製names到names2,註:只複製第一層(淺copy)print(names)print(names2)names[0] = ‘張三‘names[2][0] = ‘LIUDEYI‘print(names)print(names2)print(‘--------------------‘)names = [‘zhangsan‘,‘lisi‘,[‘liudeyi‘,‘jack‘],‘xieliu‘,‘xieliu‘]#names2 = copy.copy(names)#淺copy,等同於names2 = names.copy()names2 = copy.deepcopy(names)#深copyprint(names)print(names2)names[0] = ‘張三‘names[2][0] = ‘LIUDEYI‘print(names)print(names2)print(‘--------------------‘)#淺copyperson = [‘name‘,[‘saving‘,100]]‘‘‘p1 = copy.copy(person)p2 = person[:]p3 = list(person)‘‘‘p1 = person[:]p2 = person[:]print(p1)print(p2)p1[0] = ‘jack‘p2[0] = ‘rose‘print(p1)print(p2)p1[1][1] = 50print(p1)print(p2)

8、列表迴圈

names = [‘zhangsan‘,‘lisi‘,[‘liudeyi‘,‘jack‘],‘xieliu‘,‘xieliu‘]print(names[0:-1:2])#步長切片,等同於print(names[::2])for i in names:    print(i)

9、標準庫:os

import os#os,語義為作業系統,所以肯定就是作業系統相關的功能了,可以處理檔案和目錄這些我們日常手動需要做的操作,就比如說:顯示目前的目錄下所有檔案/刪除某個檔案/擷取檔案大小……#cmd_res = os.system("dir")#執行命令,不儲存結果cmd_res = os.popen("dir").read()print("-->",cmd_res)os.mkdir("new dir")#建立目錄

10、簡單的購物車程式

product_list = [    (‘iPhone‘,5800),    (‘Mac Pro‘,9800),    (‘Bike‘,800),    (‘Watch‘,10600),    (‘coffee‘,31),    (‘Alex Python‘,120)]shopping_list=[]salary = input("input your salary:")if salary.isdigit():#isdigit() 方法檢測字串是否只由數字組成    salary=int(salary)    while True:        for index,item in enumerate(product_list):#enumerate 函數用於遍曆序列中的元素以及它們的下標            print(index,item)        user_choice=input("選擇要買的商品>>>:")        if user_choice.isdigit():            user_choice=int(user_choice)            if user_choice<len(product_list) and user_choice>=0:                p_item=product_list[user_choice]                if p_item[1]<=salary:#買得起                    shopping_list.append(p_item)                    salary-=p_item[1]                    print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m"%(p_item[0],salary))                else:                    print("\033[41;1m你的餘額只剩[%s]啦,餘額不足\033[0m"%(salary))            else:                print("product code [%s] is not exist!"%(user_choice))        elif user_choice==‘q‘:            print(‘---------shopping list--------‘)            for p in shopping_list:                print(p)            print("your current balance is:",salary)            exit()        else:            #print(‘error‘)            exit()


python學習(day2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.