日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python函数的定义必须在程序的开头_Python之函数基础

發布時間:2025/3/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数的定义必须在程序的开头_Python之函数基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、函數的定義與調用

函數從大方針上考慮總共分為兩種:一種是內置函數,另一種是自定義函數。今天主要講的是自定義函數。

s = '金老板小護士'#len(s)

def my_len(): #自定義函數

i= 0

for k ins:

i+= 1print(i)

length=my_len()

print(length)

此函數是為了計算字符串 's' 的長度。分析此函數的格式:

首先定義函數是def,這個是必須的,后面空一格,再寫函數名稱,定義函數名稱和定義變量的規范一樣,后面是冒號。

其實除了def這一行和后面的縮進,其他的好像就是正常的執行代碼。我們來執行一下,哦,好像啥也沒發生。

剛剛我們已經說過,這是把代碼裝起來的過程。你現在只會往里裝,還不會往出拿。那么應該怎么往出拿呢?我來告訴大家:

mylen()

是不是很簡單?是不是似曾相識?這就是代碼取出來的過程。剛剛我們就寫了一個函數,并且成功調用了它。

函數的調用是用mylen(),直接在函數代碼后面寫上變量名加上(),就可以調用函數了。

總結:

定義:def關鍵詞開頭,空格之后接函數名稱和圓括號(),最后還有一個":"。

def 是固定的,不能變。

空格 為了將def關鍵字和函數名分開,必須空格。

函數名:函數名只能包含字符串、下劃線和數字且不能以數字開頭。雖然函數名可以隨便起,但我們給函數起名字還是要盡量簡短,并能表達函數功能

括號:是必須加的!

注釋:每一個函數都應該對功能和參數進行相應的說明,應該寫在函數下面第一行。以增強代碼的可讀性。

調用:就是?函數名() 要記得加上括號。

2、函數的返回值

函數的返回值,關鍵字是? return

返回值也就是return的作用是,有兩個作用

一、可以返回函數值

二、可以結束一個函數的繼續。

要研究返回值,我們還要知道返回值有幾種情況:分別是沒有返回值、返回一個值、返回多個值

返回值的3種情況

沒有返回值 —— 返回None

不寫return

只寫return:結束一個函數的繼續

return None —— 不常用

返回1個值

可以返回任何數據類型

只要返回就可以接收到

如果在一個程序中有多個return,那么只執行第一個

返回多個值

用多個變量接收:有多少返回值就用多少變量接收

用一個變量接收: 得到的是一個元組

沒有返回值

不寫return的情況下,會默認返回一個None

#函數定義

def mylen():"""計算s1的長度"""s1= "hello world"length= 0

for i ins1:

length= length+1print(length)

#函數調用

str_len=mylen()

#因為沒有返回值,此時的str_len為None

print('str_len : %s'%str_len)

不寫return

只寫return,后面不寫其他內容,也會返回None,有的同學會奇怪,既然沒有要返回的值,完全可以不寫return,為什么還要寫個return呢?這里我們要說一下return的其他用法,

就是一旦遇到return,結束整個函數。

def ret_demo():

print(111)returnprint(222)

ret=ret_demo()

print(ret)

只寫return

return None:和上面的兩種情況一樣,我們一般不這樣寫。

def ret_demo():

print(111)returnNone

print(222)

ret=ret_demo()

print(ret)return None

返回一個值

只需在return后面寫上要返回的內容即可。

#函數定義

def mylen():"""計算s1的長度"""s1= "hello world"length= 0

for i ins1:

length= length+1

returnlength

#函數調用

str_len=mylen()

print('str_len : %s'%str_len)

返回一個值

注意:return和返回值之間要有空格,可以返回任意數據類型的值

返回多個值

可以返回任意多個、任意數據類型的值

def ret_demo1():'''返回多個值'''

return 1,2,3,4def ret_demo2():'''返回多個任意類型的值'''

return 1,['a','b'],3,4ret1=ret_demo1()

print(ret1)

ret2=ret_demo2()

print(ret2)

返回多個值

返回的多個值會被組織成元組被返回,也可以用多個值來接收

def ret_demo2():return 1,['a','b'],3,4#返回多個值,用一個變量接收

ret2=ret_demo2()

print(ret2)

#返回多個值,用多個變量接收

a,b,c,d=ret_demo2()

print(a,b,c,d)

#用多個值接收返回值:返回幾個值,就用幾個變量接收

a,b,c,d=ret_demo2()

print(a,b,c,d)

多個返回值的接收

上面設置的函數只能單一的適用于一種特定的情況,現在如果想要讓我們的函數能夠適用于所有的變量,就要設置參數了。

#函數定義

def mylen(s1):"""計算s1的長度"""length= 0

for i ins1:

length= length+1

returnlength

#函數調用

str_len= mylen("hello world")

print('str_len : %s'%str_len)

帶參數的函數

mylen函數要計算的字符串是誰,這個過程就叫做 傳遞參數,簡稱傳參,我們調用函數時傳遞的這個“hello world”和定義函數時的s1就是參數。

實際參數(實參)和形式參數(形參):

實參:我們調用函數時,在變量后面的()里加入的參數就是實際參數,簡稱實參;

形參:我們定義函數時,在變量后面的()里加入的參數就是形式參數,簡稱形參。

傳遞多個參數

參數可以傳遞多個,多個參數之間用逗號分割。

def mymax(x,y):

the_max= x if x > y elseyreturnthe_max

ma= mymax(10,20)

print(ma)

View Code

1 defmymax(x,y):2 the_max = x if x > y elsey3 returnthe_max4

5 ma = mymax(10,20)6 print(ma)

View Code

defmymax(x,y):

the_max= x if x > y elseyreturnthe_max

ma= mymax(10,20)print(ma)

參數

沒有參數

定義函數和調用函數時括號里都不寫內容

有一個參數

傳什么就是什么

有多個參數

位置參數,按照順序對應

站在實參角度

1.按照位置傳值

defmymax(x,y):#此時x=10,y=20

the_max = x if x > y elseyreturnthe_max

ma= mymax(10,20)print(ma)

按照位置傳參

2.按照關鍵字傳值

defmymax(x,y):#此時x = 20,y = 10

print(x,y)

the_max= x if x > y elseyreturnthe_max

ma= mymax(y = 10,x = 20)print(ma)

按照關鍵字傳參

3.位置、關鍵字形式混著用

defmymax(x,y):#此時x = 10,y = 20

print(x,y)

the_max= x if x > y elseyreturnthe_max

ma= mymax(10,y = 20)print(ma)

位置、關鍵字混用傳參

正確用法

問題一:位置參數必須在關鍵字參數的前面

問題二:對于一個形參只能賦值一次

總結:

站在實參的角度上:

按照位置傳參

按照關鍵字傳參

混著用可以:但是 必須先按照位置傳參,再按照關鍵字傳參數

不能給同一個變量傳多個值

站在形參角度

位置參數必須傳值

defmymax(x,y):#此時x = 10,y = 20

print(x,y)

the_max= x if x > y elseyreturnthe_max#調用mymax不傳遞參數

ma =mymax()print(ma)#結果

TypeError: mymax() missing 2 required positional arguments: 'x' and 'y'位置參數必須傳參

默認參數

1.正常使用

使用方法

為什么要有默認參數:將變化比較小的值設置成默認參數

2.默認參數的定義

def stu_info(name,sex = "male"):"""打印學生信息函數,由于班中大部分學生都是男生,

所以設置默認參數sex的默認值為'male'"""

print(name,sex)

stu_info('alex')

stu_info('eva','female')

默認參數

總結:

站在形參的角度上

位置參數:必須傳,且有幾個參數就傳幾個值

默認參數: 可以不傳,如果不傳就是用默認的參數,如果傳了就用傳的

動態參數

按位置傳值多余的參數都由args統一接收,保存成一個元組的形式

def mysum(*args):

the_sum=0for i inargs:

the_sum+=ireturnthe_sum

the_sum= mysum(1,2,3,4)print(the_sum)*args求和函數應用

def stu_info(**kwargs):print(kwargs)print(kwargs['name'],kwargs['sex'])

stu_info(name= 'alex',sex = 'male')

動態參數有兩種:可以接受任意個參數

*args : 接收的是按照位置傳參的值,組織成一個元組

**kwargs: 接受的是按照關鍵字傳參的值,組織成一個字典

args必須在kwargs之前

重要總結:

只有調用函數的時候

按照位置傳 : 直接寫參數的值

按照關鍵字: 關鍵字 = 值

定義函數的時候:

位置參數 : 直接定義參數

默認參數,關鍵字參數 :參數名 = '默認的值'

動態參數 : 可以接受任意多個參數

參數名之前加*,習慣參數名args,

參數名之前加**,習慣參數名kwargs

順序:位置參數, *args,? ?默認參數,??? **kwargs

函數的注釋

def func():

''' 這個函數實現了什么功能

參數1:

參數2:

:return: 是字符串或者列表的長度

'''

pass

總結

以上是生活随笔為你收集整理的python函数的定义必须在程序的开头_Python之函数基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。