python函数定义注意事项_关于Python中自定义函数的一些注记,python,几点,注意事项...

1、函数的文档说明,可以通过help(helpTest)查看函数说明,类似于备注函数功能

6e55fe1d3a242ac66c361bad03b7309d.png

2、在函数中可以调用全局变量,但是需要先global 声明,全局变量值跟随改变,

类似于C#中的 ref 功能

00964a951cb948151d12cd335064ac20.png

3、在自定义函数返回值时,一般有多种可能,

多个返回值: 一个返回值

元祖 列表 字典 字符串、int类型,

( )、[ ] 、 { }

如果返回多个值没有任何东西,默认为元组,也可以单独拆分单独接受返回值

举例:

def test1():

return 11,12

result=test1()

a,b=test1()

print("*“

30)

print(type(result))

print(result)

print("

”*30)

print(type(a))

print(a,b)

=============== RESTART: D:/Python/Test/自定义函数元祖测试.py ===============

(11, 12)

(11, 12)

4、不定长参数

def test(a,b,*abc,**kwargs):

print(a)

print(b)

print(abc)

print(kwargs)

test(11,22,33,44,55,66,77,88,99,mm=11,nn=44)

一个 *参数 里面代表多余的参数,输出为元组

**参数里面代表有命名参数输出为字典

当列表/元组在当做实参传递的时候,如果前面有一个*,表示对其进行解包,

意思是: [111,222,333]------->111,222,333

当字典当做一个实参进行传递的时候,如果前面有俩个*,表示对其进行解包

意思是:{“aa”:100,”bb”:200}------------>aa=100,bb=200

=================== RESTART: D:/Python/Test/不定长参数.py ===================

11

22

(33, 44, 55, 66, 77, 88, 99)

{‘mm’: 11, ‘nn’: 44}

029d21aa31695adc5fc49b9740d075ab.png

5、引用

在参数中注意+=如此类的用法,

字符不会改动,

列表会改变,

举例:

def test1(a,b):

print(a)

print(b)

a+=a

b+=1

a=[11,22]

b=12

print(a)

test1(a,b)

print(a)

print(b)

[11, 22]

[11, 22]

12

[11, 22, 11, 22]

12

6、递归:函数内调用函数本身

def test(num):

if(num>1):

return num*test(num-1)

else:

return 1

x=test(20)

print (x)

================== RESTART: D:/Python/Test/递归函数用法.py ==================

2432902008176640000

7、匿名函数: 用lambda替代一句非常简单的函数

当做参数进行传递

特别简单的函数可以使用

举例:

在字典之中按照key对应的大小进行排序

def test(a,b):

return a+b

aaa=lambda a,b:a+b

print(test(11,12))

print(aaa(9,10))

print("*"*20)

b=[{“xuhao”:22,“age”:18},{“age”:37,“xuhao”:40},{“xuhao”:32,“age”:12},{“xuhao”:17,“age”:16}]

print (b)

b.sort(key=lambda x:x[“age”])

print (b)

==================== RESTART: D:/Python/Test/匿名函数.py ====================

23

19

[{‘age’: 18, ‘xuhao’: 22}, {‘age’: 37, ‘xuhao’: 40}, {‘age’: 12, ‘xuhao’: 32}, {‘age’: 16, ‘xuhao’: 17}]

[{‘age’: 12, ‘xuhao’: 32}, {‘age’: 16, ‘xuhao’: 17}, {‘age’: 18, ‘xuhao’: 22}, {‘age’: 37, ‘xuhao’: 40}]

从大到小进行排序,加了个reverse=True

8ff89cd70b72cc2627f35875d643afe8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值