Python字典,函數(shù),全局變量代碼解析
字典
dict1 = {'name':'han','age':18,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values()) #打印所有的values值 print("dict1['name']:",dict1['name']) #打印name相對(duì)應(yīng)的value值 print(dict1.get('name')) #通過字典的get方法得到name相對(duì)應(yīng)的value值 dict1['age']=28 #字典的修改相當(dāng)于重新賦值?。?! dict1['address']='beijing' #字典的增加是:dict[key] = value 這樣的形式 del dict1['name'] #刪除字典中的一個(gè)元素 dict1.clear() #字典的清空,返回一個(gè)空字典 # del dict1 #刪除字典,字典就完全刪除了
字典用法注意:
1、鍵是不允許相同的,如果相同,后面的會(huì)覆蓋前面的
2、鍵是不可變的,所以只能用數(shù)字、字符串、元組來擔(dān)當(dāng)
dict2 = {(1,2):5,"元組":(4,5)} #字典里的元素只能用不可變的數(shù)據(jù)類型?。?! print(dict2) print(dict2['元組']) print(dict2[(1,2)]) for i in dict2.keys(): #取出的數(shù)值更干凈?。。≈?jǐn)記老師教導(dǎo) print("字典中的key值為:",i) for j in dict2.values(): print("字典中的values值為:",j)
函數(shù)
1、函數(shù)的定義
函數(shù)是實(shí)現(xiàn)特定功能而封裝起來的一組語句塊,可以被用戶調(diào)用
2、函數(shù)的分類
自定義函數(shù);預(yù)定義函數(shù)(系統(tǒng)自帶,lib自帶)
3、使用函數(shù)的好處
降低編程難度、將大問題分解為若干小問題、可以多次調(diào)用
4、函數(shù)語法
定義
def函數(shù)名字(參數(shù)):
函數(shù)體
return語句#不帶表達(dá)式的return相當(dāng)于返回none
調(diào)用
函數(shù)名字
以下是函數(shù)的幾種:
#定義函數(shù),函數(shù)名最好以_分割 def print_str(str): print(str) return # 調(diào)用函數(shù) print_str("調(diào)用一下")
# 函數(shù)傳遞 #所有參數(shù)在python里都是按引用傳遞 #一句話:要變都變?。?! def charge_me(mylist): mylist.append([1,2,3,4]) print("函數(shù)內(nèi)取值:",mylist) return mylist = [10,20,30] charge_me(mylist) print("函數(shù)外取值:",mylist) #函數(shù)外和函數(shù)內(nèi)打印是相同的!?。?/pre>
#函數(shù)的賦值引用 def print_info(name,age=3): print("name",name) print("age",age) return # print_info(name="xiao",age=18) print_info(age=50,name="xiao") #python中顛倒是可以的?。。? print_info(name='haha')
#函數(shù)的不定長(zhǎng)參數(shù) def p_info(arg1,*vartuple): print("輸出:",arg1) for var in vartuple: print(var) return p_info(10) p_info(70,60,50,40,30)
匿名函數(shù)lambda,了解即可 # 1、lambda只是一個(gè)表達(dá)式,而不是一個(gè)代碼塊,函數(shù)體比def簡(jiǎn)單很多。僅僅能在lambda表達(dá)式中封裝有限的邏輯 # 2、lambda[arg1[,arg2,...argn]]:expression sum1 = lambda arg1,arg2:arg1+arg2 print("相加后的值為:",sum1(10,20))
# return語句 def sum2(arg1,arg2): total = arg1+arg2 print("函數(shù)內(nèi):",total) return total #把total去掉之后返回none abc = sum2(10,40) print("函數(shù)外:",abc)
#全局變量和局部變量
#全局變量比較容易出問題,能不用就不用
total = 0 def sum3(a,b): total = a+b print("函數(shù)內(nèi)(局部變量)的值為:",total) return total # total = sum3(10,400) sum3(20,70) print("函數(shù)外(全局變量)的值為:",total)
count = 1 def do_st(): global count #全局變量:global for i in (3,4,5): #循環(huán)三次 count += 1 # print(count) do_st() print(count) # 思路:當(dāng)count=1時(shí)進(jìn)入循環(huán)+1并賦值給count # 在for循環(huán)三次后為3+1=4 # count是全局變量,最后打印出的結(jié)果為4
小練習(xí)
# 不能創(chuàng)建字典的語句是C (字典中的元素不能以列表作為key) # A、dict1 = {} # B、dict2 = { 3 : 5 } # C、dict3 = {[1,2,3]: “uestc”} # D、dict4 = {(1,2,3): “uestc”} #以下代碼輸出什么?輸出的是6 # 思路:原始key的值為1, # copy給另一個(gè)字典值為1, # 重新賦值原來的字典值為5, # 所以相加等于6 dict1={'1':1,'2':2} theCopy=dict1.copy() dict1['1']=5 sum=dict1['1']+theCopy['1'] print(sum) # 合并生成新的字典 dict1 = {3:"c", 4:"d"} dict2 = {1:"a", 2:"b"} dict2.update(dict1) #更新添加dict1進(jìn)dict2 print(dict2) # 標(biāo)準(zhǔn)日期輸出 a = "20170303" b = a[:4] c = a[4:6] #構(gòu)思:通過列表分割的方式實(shí)現(xiàn) d = a[6:] print("格式化后輸出的日期是:%s年%s月%s日"%(b,c,d))
無return函數(shù),返回什么?
答:在函數(shù)中無return函數(shù),返回none
如何在一個(gè)function里面設(shè)置一個(gè)全局的變量?
答:在函數(shù)體內(nèi)定義一個(gè)全局的函數(shù)global
#隨機(jī)生成驗(yàn)證碼的兩種方式:
import random list1=[] for i in range(65,91): list1.append(chr(i)) #通過for循環(huán)遍歷asii追加到空列表中 for j in range(97,123): list1.append(chr(j)) for k in range(48,58): list1.append(chr(k)) ma = random.sample(list1,6) print(ma) #獲取到的為列表 ma = ''.join(ma) #將列表轉(zhuǎn)化為字符串 print(ma)
import random,string str1 = "0123456789" str2 = string.ascii_letters str3 = str1+str2 ma1 = random.sample(str3,6) ma1 = ''.join(ma1) print(ma1) #通過引入string模塊和random模塊使用現(xiàn)有的方法
總結(jié)
以上就是本文關(guān)于Python字典,函數(shù),全局變量代碼解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- Python 把序列轉(zhuǎn)換為元組的函數(shù)tuple方法
- Python從函數(shù)參數(shù)類型引出元組實(shí)例分析
- python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用
- python中的字典操作及字典函數(shù)
- 詳解python的sorted函數(shù)對(duì)字典按key排序和按value排序
- Python入門教程5. 字典基本操作【定義、運(yùn)算、常用函數(shù)】
- Python常見字典內(nèi)建函數(shù)用法示例
- Python 字典(Dictionary)操作詳解
- Python中字典創(chuàng)建、遍歷、添加等實(shí)用操作技巧合集
- Python字符串、元組、列表、字典互相轉(zhuǎn)換的方法
- python元組和字典的內(nèi)建函數(shù)實(shí)例詳解
相關(guān)文章
詳解python中@classmethod和@staticmethod方法
在python類當(dāng)中,經(jīng)常會(huì)遇到@classmethod和@staticmethod這兩個(gè)裝飾器,那么到底它們的區(qū)別和作用是啥子呢?本文結(jié)合場(chǎng)景分析給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧2022-10-10Python使用Selenium、PhantomJS爬取動(dòng)態(tài)渲染頁面
本文主要介紹了Python使用Selenium、PhantomJS爬取動(dòng)態(tài)渲染頁面,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05利用Python中的輸入和輸出功能進(jìn)行讀取和寫入的教程
這篇文章主要介紹了利用Python中的輸入和輸出功能進(jìn)行讀取和寫入的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04使用Python給PDF添加目錄書簽的實(shí)現(xiàn)方法
有時(shí)下載到掃描版的 PDF 是不帶書簽?zāi)夸浀?這樣閱讀起來很不方便,下面通過 python 實(shí)現(xiàn)一個(gè)半自動(dòng)化添加書簽?zāi)夸浀哪_本,文中通過代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-10-10pandas DataFrame 賦值的注意事項(xiàng)說明(index)
這篇文章主要介紹了pandas DataFrame 賦值的注意事項(xiàng)說明(index),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04Python selenium的安裝和下載谷歌瀏覽器鏡像驅(qū)動(dòng)
Selenium是一個(gè)用于web自動(dòng)化測(cè)試的框架,在使用Ajax請(qǐng)求數(shù)據(jù)的頁面中,會(huì)出現(xiàn) sign ,token等密鑰,借助使用Selenium框架來實(shí)現(xiàn)數(shù)據(jù)爬取很不錯(cuò),本文給大家介紹Python selenium的安裝和下載谷歌瀏覽器鏡像驅(qū)動(dòng),需要的朋友可以參考下2022-11-11python圖片和二進(jìn)制轉(zhuǎn)換的三種實(shí)現(xiàn)方式
本文介紹了將PIL格式、數(shù)組和圖片轉(zhuǎn)換為二進(jìn)制的不同方法,包括使用PIL庫、OpenCV和直接讀取二進(jìn)制,此外,還提到了數(shù)據(jù)傳輸中base64格式的應(yīng)用,這些信息對(duì)需要進(jìn)行圖片數(shù)據(jù)處理和轉(zhuǎn)換的開發(fā)者非常有用2024-09-09