新聞中心
函數(shù)的定義和使用
def test(x): # x代表形參
'''
2*x+1
:param x:整形數(shù)字
:return:返回計(jì)算結(jié)果
'''
y = 2*x+1
return y
p = test(3) # test()表示運(yùn)行名為test函數(shù),3代表實(shí)參,給x進(jìn)行賦值
print(p)
函數(shù)的定義:
在成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)過(guò)程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開(kāi)發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
- def: 表示函數(shù)的關(guān)鍵字
- 函數(shù)名: 函數(shù)的名稱, 根據(jù)函數(shù)名調(diào)用函數(shù)
- 函數(shù)體: 函數(shù)中進(jìn)行一系列的邏輯計(jì)算
- 參數(shù): 為函數(shù)執(zhí)行完畢后, 可以給調(diào)用者返回?cái)?shù)據(jù)
一. 為什么要用函數(shù)?
- 減少代碼量
- 保持一致性
- 易維
二. 函數(shù)的參數(shù)
函數(shù)有三種不同的參數(shù):
普通參數(shù)
######### 定義函數(shù) #########
# name 叫做函數(shù)func的形式參數(shù),簡(jiǎn)稱:形參
def func(name):
print name
# ######### 執(zhí)行函數(shù) #########
# 'wupeiqi' 叫做函數(shù)func的實(shí)際參數(shù),簡(jiǎn)稱:實(shí)參
func('wupeiqi')
默認(rèn)參數(shù)
def func(name, age = 18):
print "%s:%s" %(name,age)
# 指定參數(shù)
func('wupeiqi', 19)
# 使用默認(rèn)參數(shù)
func('alex')
注:默認(rèn)參數(shù)需要放在參數(shù)列表最后
動(dòng)態(tài)參數(shù) *args
def func(*args):
print args
# 執(zhí)行方式一
func(11,33,4,4454,5)
# 執(zhí)行方式二
li = [11,2,2,3,3,4,54]
func(*li)
動(dòng)態(tài)參數(shù) **kwargs
def func(**kwargs):
print args
# 執(zhí)行方式一
func(name='wupeiqi',age=18)
# 執(zhí)行方式二
li = {'name':'wupeiqi', age:18, 'gender':'male'}
func(**li)
三. 函數(shù)的變量
函數(shù)的變量可分為 全局變量和局部變量
全局變量(大寫(xiě))
定義:沒(méi)有縮進(jìn)的變量
局部變量(小寫(xiě))
定義:子程序下定義的變量
name = 'lhf' # 這里就指全局變量
def change_name():
name = '帥了一比' # 這里就指局部變量
print('change_name', name)
change_name()
print(name)
#結(jié)果
change_name 帥了一比
lhf
global和nolocal
global聲明是全局變量,nolocal指定上一級(jí)變量
未聲明全局變量
x = 99
def func():
x = 88
func()
print(x) #輸出99
聲明全局變量
x = 99
def func()
global x
x = 88
func()
print(x) #輸出88
未指定上一級(jí)變量
def func():
count = 1
def foo():
count = 12
foo()
print(count)
func() #輸出1
指定上一級(jí)變量
def func():
count = 1
def foo():
nonlocal count
count = 12
foo()
print(count)
func() #輸出12
四. 遞歸函數(shù)
ps: 用的好的都是大牛~
就是函數(shù)自己調(diào)用自己
特性:
-
必須有一個(gè)明確的結(jié)束條件,
-
每次進(jìn)入深一層遞歸時(shí),問(wèn)題規(guī)模都應(yīng)有所減少
'''
學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
def calc(n):
print(n)
if int(n / 2) == 0:
return n # 當(dāng)上面的條件成立后一個(gè)真值,返回到函數(shù)
res = calc(int(n / 2))
print(n,res)
return res # 返回res的值,要將真值一層一層傳遞回去
calc(10)
五. lamabda匿名函數(shù)
lambda用法,冒號(hào)之前的是入?yún)?,冒?hào)之后的是表達(dá)式,返回的值,最簡(jiǎn)單的函數(shù)
print [(lambda x:x*x)(x)for x in range(11)]
#結(jié)果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print (lambda x:x*x)(3)
#結(jié)果:9
g=lambda x:x*x
print g(4)
#結(jié)果:16
分享文章:python教程:函數(shù)快速入門(mén)
瀏覽地址:http://fisionsoft.com.cn/article/dsogpci.html