小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

大牛帶你學(xué)習(xí)Python中這些簡單的函數(shù),看一遍就會

 bdpqlxz 2020-05-13

文章目錄

  1. 定義和調(diào)用函數(shù)

  2. 定義函數(shù)

  3. 參數(shù)和返回值

  4. 變量的作用域

  5. 匿名函數(shù)

  6. 內(nèi)置函數(shù)

  7. 數(shù)值運算函數(shù)

  8. 字符串處理函數(shù)

  9. 其他常用內(nèi)置函數(shù)

  10. help()

  11. type()

定義和調(diào)用函數(shù)

定義函數(shù)

格式

def functionname([parameterlist])
['comments']
[funcitonbody]

functionname:函數(shù)名

parameterlist:參數(shù)??梢詾榭?,可以為多個參數(shù),用逗號隔開

comments:可選參數(shù)

functionbody:可選參數(shù),語句體調(diào)用函數(shù)后要執(zhí)行的功能代碼

  • 函數(shù):系統(tǒng)函數(shù)、自定義函數(shù)

  • 調(diào)用函數(shù):

調(diào)用函數(shù)就是執(zhí)行函數(shù)

系統(tǒng)函數(shù)、自定義 函數(shù)都是用函數(shù)名來調(diào)用

  • pass空語句:不做任何事情,起到占位作用,可以用…來代替pass

自定義函數(shù)

def sum(num1,num2):
print(num1+num2)def printstring(str):
print(str)

num1、num2、str都是函數(shù)的參數(shù),在函數(shù)體中,函數(shù)類似于變量

函數(shù)調(diào)用、調(diào)用函數(shù)

  • 計算兩個數(shù)相加

>>> def sum(num1,num2):
     print(num1+num2)>>> sum(100,10)110>>>

參數(shù)和返回值

  • 主調(diào)函數(shù)和被調(diào)用函數(shù)之間一般都有數(shù)據(jù)傳遞關(guān)系

  • 參數(shù):

形參:定義函數(shù)時,括號里的參數(shù)

實參:調(diào)用函數(shù)時,函數(shù)后面的參數(shù)

  • 參數(shù)的作用是傳遞數(shù)據(jù)給函數(shù)使用

實參:

值傳遞:實參為不可變對象時,改變形參的值,實參值不變

引用傳遞:實參為可變對象時,改變形參的值,實參的值也會改變

位置參數(shù)(必備參數(shù))

  • 必須按照正確的順序傳遞到函數(shù)中,即調(diào)用時數(shù)量和位置必須與定義的相同

  • 關(guān)鍵字參數(shù):使用形參的名字來輸入?yún)?shù)的值,不需要與形參的的位置一致

例1:>>> def fun_bmi(person,height,weight):  //定義函數(shù)
bmi = weight/height

print (bmi)

>>> fun_bmi('壞壞',1.78)  //參數(shù)數(shù)量與定義的不同,缺少“weight”參數(shù)
Traceback (most recent call last):
 File '<pyshell#28>', line 1, in <module>
   fun_bmi('壞壞',1.78)
TypeError: fun_bmi() missing 1 required positional argument: 'weight'

>>> fun_bmi('壞壞',56,1.78)  //參數(shù)位置與定義不一致

0.031785714285714285

>>> >>> fun_bmi('壞壞',1.78,56)  //正確的輸出

31.46067415730337

# 關(guān)鍵字參數(shù),用形參的名字確定輸入的參數(shù)值,指定實參時,無需與形參的位置相同>>> fun_bmi(height=1.78,weight=56,person='壞壞')

31.46067415730337

>>>

參數(shù)傳遞

>>> def func(num):
num+=1>>> a = 10>>> func(a)>>> print(a)10

列表作為參數(shù)傳遞

>>> def sum(list):
total=0
for i in range(len(list)):
print(list[i],'+',end='')
total+=list[i]
print('=',total)>>> list=[15,25,35,45,55]>>> sum(list)15 +25 +35 +45 +55 += 175>>>

這里在最后的一個輸出會多一個+號,可以優(yōu)化

字典作為參數(shù)傳遞

>>> def print_dict(dict):
for (k,v) in dict.items():
print('dict[%s]='%k,v)
>>> dict={'b':'bad','o':'boy','B':'Bad'}>>> print_dict(dict)
dict[b]= bad
dict[o]= boy
dict[B]= Bad>>>

  • 可變參數(shù)(不定參數(shù))

傳入函數(shù)中的實際參數(shù)可以是0個、1個或多個

可變參數(shù)的兩種形式:

  • *parameter——接受任意多個實際參數(shù)并將其放到一個元組中

  • **parameter——接受任意多個顯示賦值的實際參數(shù),并將其放到一個字典中

# *parameter可變參數(shù)>>> def printplayer(*name):
print('我喜歡的歌手有:') for item in name:
print(item)>>> printplayer('許嵩')
我喜歡的歌手有:
許嵩>>> printplayer('許嵩','孫子涵','owl ciy')
我喜歡的歌手有:
許嵩
孫子涵
owl ciy>>>
>>> def printsign(**sign):
print() for key,value in sign.items():
print('['+key+']的專輯是:'+value)# **可變參數(shù)>>> printsign(許嵩='尋寶游戲',孫子涵='涵劇先森',owl='Good Time')
[許嵩]的專輯是:尋寶游戲
[孫子涵]的專輯是:涵劇先森
[owl]的專輯是:Good Time>>>

使用已存在的列表作為函數(shù)的可變參數(shù),在列表名稱前加*

使用已存在的字典作為函數(shù)的可變參數(shù),可在字典的名稱前面加**

  • 返回值

作用:將函數(shù)處理的結(jié)果返回給調(diào)用它的程序

返回值不是必須的,如果沒有return語句,默認返回None

返回值可以是任意類型,只要return得到執(zhí)行,就會直接結(jié)束函數(shù)的執(zhí)行

返回一個值,該值可以是任意類型

返回多個值,保存為一個元組

>>> def sum(num1,num2):  #無返回值
num1+num2>>> print(sum(2,3))
None>>> def sum(num1,num2):  #有返回值
num1+num2 return num1+num2
>>> print(sum(2,3))5>>>

例:輸出一個列表中的偶數(shù)

>>> def filter_even(list):
list1=[] for i in range(len(list)): if list[i]%2==0:
list1.append(list[i])
i-=1
return list1>>> list=[1,2,3,4,5,6,7]>>> list2=filter_even(list)>>> print(list2)
[2, 4, 6]>>>

變量的作用域

  • 作用域指程序代碼能夠訪問該變量的區(qū)域,即變量的有效范圍

  • 局部變量:

在函數(shù)內(nèi)部定義的變量,只能在函數(shù)內(nèi)使用

只在函數(shù)運行時創(chuàng)建,運行之前、之后都不存在

  • 全局變量:

在函數(shù)外定義的變量

函數(shù)內(nèi)定義,但是用global關(guān)鍵字修飾后的變量

在定義后的任何地方都有效

如果全局變量和局部變量重名,函數(shù)體內(nèi)只有局部變量有效

>>> a = 50  #定義全局變量a>>> def setNumber():  #定義函數(shù)內(nèi)為局部變量,只在函數(shù)內(nèi)有效
a=10
print(a)>>> setNumber()  #調(diào)用函數(shù),輸出函數(shù)內(nèi)的變量值10>>> print(a)  #未調(diào)用函數(shù),輸出全局變量的值50>>>

例:>>> total=5  #全局變量>>> def sum(num1,num2):
total=num1+num2   #函數(shù)內(nèi)的為局部變量
print ('函數(shù)內(nèi)是局部變量:',total) return total>>> sum(5,15)  #調(diào)用函數(shù),輸出局部變量函數(shù)內(nèi)是局部變量: 2020>>> print('函數(shù)外是全局變量:',total)  #未調(diào)用函數(shù),輸出全局變量函數(shù)外是全局變量: 5>>>

匿名函數(shù)

  • python使用lambda來創(chuàng)建匿名函數(shù)

lambda是一個表達式,函數(shù)體比def簡單

lambda的主體是表達式,不是代碼塊。僅能在lambda表達式中封裝有限的邏輯

lambda函數(shù)擁有自己的命名空間,不能訪問自有參數(shù)列表以外或全局命名空間里的參數(shù)

  • 語法:lambda[arg1[,arg2,...argn]]:expression

匿名函數(shù)主要應(yīng)用在需要一個函數(shù)而不必去命名這個函數(shù)

lambda函數(shù)看似只能寫一行,卻不同于C或C++的內(nèi)聯(lián)函數(shù)

內(nèi)聯(lián)函數(shù)的目的是調(diào)用小函數(shù)時不占用棧內(nèi)存從而增加運行效率

# 使用def定義函數(shù)>>> def aaa(i):
return 2+3*i>>> aaa(5)17# 使用lambda定義函數(shù)>>> d=lambda i :2+3*i>>> d(5)17>>>
>>> def add(a,b):
return a+b>>> add(2,3)5>>> e=lambda a,b :a+b>>> e(2,3)5>>>

  • lambda優(yōu)勢:

更精簡,省略定義普通函數(shù)的過程,適合寫腳本

提高了代碼可讀性

替代比較抽象且調(diào)用次數(shù)不多的函數(shù),簡化命名

內(nèi)置函數(shù)

數(shù)值運算函數(shù)

字符串處理函數(shù)

例:

  • 數(shù)學(xué)運算函數(shù)

  • # 計算絕對值

  • >>> print(abs(-5))

  • 5

  • >>> print(abs(5))

  • 5

  • # 計算x的y次方

  • >>> print(pow(2,3))

  • 8

  • >>> print(pow(3,2))

  • 9

  • # 計算浮點數(shù)x保留n位小數(shù)

  • >>> print(round(4.567,1))

  • 4.6

  • >>> print(round(4.567,0))

  • 5.0

  • # 計算a除以b的商和余數(shù),返回元組

  • >>> print(divmod(10,3))

  • (3, 1)

  • >>> print(divmod(16,3))

  • (5, 1)

  • >>>

  • 字符串處理函數(shù)

>>> str1 = 'i am bad boy'

>>> str2 = 'I AM BAD BOY'

>>> str3 = 'I Am Bad Boy'

>>> str4 = 'i am Bad Boy'

# 將字母轉(zhuǎn)換為小寫

>>> print(str2.lower())

i am bad boy

>>> str2  #變量的值不會改變

'I AM BAD BOY'

# 將字母全部轉(zhuǎn)換為小寫

>>> print(str1.upper())

I AM BAD BOY

# 將字母的大小寫互換

>>> print(str3.swapcase())

i aM bAD bOY

# 字符串中的首字母大寫

>>> print(str1.capitalize())

I am bad boy

# 將字符串中的首字母大寫(每個)

>>> print(str4.title())

I Am Bad Boy

>>>

>>> str='i am bad boy

'# 字符串居左對齊,長度為20,不足部分用*補齊

>>> print(str.ljust(20,'*'))

i am bad boy********

# 字符串居右對齊,長度為20,不足部分用+補齊

>>> print(str.rjust(20,'+'))

++++++++i am bad boy

# 字符串居中對齊,長度為20,不足部分用-補齊

>>> print(str.center(20,'-'))

----i am bad boy----#

# 字符串居右對齊,長度為20,不足部分由0補充

>>> print(str.zfill(20))

00000000i am bad boy

>>>

拓展:

  • split() 通過指定分隔符對字符串進行切片

  • 語法:str.split(str='', num=string.count(str))

str – 分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等

num – 分割次數(shù)。默認為 -1, 即分隔所有

如果第二個參數(shù) num 有指定值,則分割為 num+1 個子字符串。

  • splitlines()按照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表

  • 語法:str.splitlines([keepends])

keepends – 在輸出結(jié)果里是否去掉換行符

默認False,不包含換行符

True則保留換行符

  • join()將序列中的元素以指定的字符連接生成一個新的字符串

  • 語法:str.join(sequence)

sequence – 要連接的元素序列

# 以空格為分隔符,將字符串分割

>>> str1='i am Bad boy'

>>> list1=str1.split(' ')

>>> print(list1)

['i', 'am', 'Bad', 'boy']

# 去除換行,將字符串一行輸出

>>> str1='I am \nBad boy'

>>> print(str1)

I am Bad boy

>>> list1=str.splitlines()

>>> print(list1)

['i am bad boy']

# 以*連接list1中的元素

>>> list1=['I','Am','Bad','boy']

>>> str1='*'

>>> print(str1.join(list1))

I*Am*Bad*boy

>>>

其他常用內(nèi)置函數(shù)

help()

  • 查看命令幫助手冊

>>> help()  #進入命令查詢

...

help> print  #查詢命令幫助

...

help> quit  #退出

...

>>> help(list)  #查看命令幫助手冊

雙擊就可以查看命令幫助手冊

>>>

type()

  • 查看變量類型

>>> a='555'>>> print(type(a))
<class 'str'>  #字符串>>> b=555>>> print(type(b))
<class 'int'>  #整型>>> c=['b','a','d']>>> print(type(c))
<class 'list'>  #列表

最后給大家一份Python的學(xué)習(xí)資料,也是我自己之前用的學(xué)習(xí)資料,感覺很不錯。之前的文章里也有過分享 ,再一次分享是因為很好,之前有很多粉絲也領(lǐng)取了,學(xué)習(xí)的很不錯,所以今天又拿出來免費的跟大家分享 ,希望大家多多轉(zhuǎn)發(fā) 收藏,記得關(guān)注一下小編,謝謝你們的支持。感謝!

Python學(xué)習(xí)路線及757.6MB視頻

1.Python的自述

2.Python開發(fā)環(huán)境的搭建

3.print函數(shù)的使用

4.轉(zhuǎn)義字符與原字符

5.二進制與字符編碼

6.保留字_標(biāo)識符_變量及其使用

7.數(shù)據(jù)類型

8.Python中的注釋

10.input函數(shù)的使用

11.算術(shù)運算符

12.賦值運算符

13.比較運算符

14.布爾運算符

15.位運算符

16.運算符的優(yōu)先級

17.程序的組織結(jié)構(gòu)_對象布爾值

18.單分支_雙分支_多分支結(jié)構(gòu)

19.嵌套if

20.條件表達式_pass語句

Python基礎(chǔ)學(xué)習(xí)路線

Python757.6MB視頻

學(xué)習(xí)Python 需要掌握的6大PPT

學(xué)習(xí)Python需要學(xué)習(xí)的PDF技術(shù)文檔

Python不管是從學(xué)習(xí)路線到視頻,到PPT,再到PDF技術(shù)文檔,小編在這里已經(jīng)全部整理完了,需要獲取的小伙伴就可以轉(zhuǎn)發(fā)此文,關(guān)注小編,私信小編“學(xué)習(xí)”就可以得到獲取方式啦~~

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多