1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python中def fun()是什么意思_python学习函数

python中def fun()是什么意思_python学习函数

时间:2024-04-03 14:14:08

相关推荐

python中def fun()是什么意思_python学习函数

函数对象模块

定义函数

def MyFirstFunction():

print(‘第一个函数‘)

······

调用函数

MyFirstFunction()

加入参数

def MySecondFunction(name):

print(name + ‘是谁‘)

调用含参函数

MySencondFunction(‘某某某‘)

MySecondFunction(name=‘某某某‘)

形参和实参:name是形参,传进来的具体参数才是实参

给函数写说明文档用#注释

查看注释文档

函数._doc_

help(函数)

增加默认参数

def MySecondFunction(name=‘abc‘)

收集参数

def test(*params)

print(len(params), params[1])

输入test(1,‘abc‘,3,45)

输出 4 ‘abc‘

收集参数加其他参数

def test(*params, num=6)//最好加上默认值

print(len(params), params[1], num)

输入test(1, ‘abc‘, 3, 45, num=9)//必须加num=,否则报错

输出 4 ‘abc‘ 9

函数与过程

python都是函数,都会有返回值

def hello():

print(‘Hello!‘)

temp = hello输出为Hello!但是temp=None

没有return值的返回都是None

返回值

def back1():

return [1, ‘abc‘, 3.14]//返回数组

def back2():

return 1, ‘abc‘, 3.14//返回元组

局部变量和全局变量

def sum(a, b):

c = a + b

return c//c为局部变量,外部无法直接调用c

函数可以读取调用全局变量

如果在函数内修改全局变量,只对函数内有效,尽量避免

可以在函数中用 globe c将局部变量设为全局变量

函数的内嵌

def fun1():

print(‘abc‘)

def fun2()://内嵌函数定义在fun1内部定义

print(‘def‘)

fun2()//内嵌函数调用只能在fun1该函数内部使用

函数的闭包

def FunX(x):

def FunY(y):

return x*y

return FunY

调用

i = FunX(8)

i(5)结果为40

或者

FunX(8)(5)

使用闭包时注意内部和全局变量的关系

def Fun1():

x = 5

def Fun2():

x*=x

return x

return Fun2()//函数错误,x在Fun2中被修改

解决办法

def Fun1():

x = 5

def Fun2():

nonlocal x//设置x为非局部变量

x*=x

return x

return Fun2()

匿名函数(lambda)

精简且不需要定义命名函数名,简化可读性

g = lambda x : 2 * x + 1

就可直接调用g(5)

g = lambda x, y : x + y

直接调用g(3, 4)

两个厉害的bif

filter(Function or None, iterable)

过滤器,去掉iterable中非ture的部分

list(filter(None,[1, 0, Ture, False]))结果为 [1, Ture]

例如取奇数

def odd(x)

return x % 2

temp = range(10)

show = filter(odd, temp)

list(show)结果为[1, 3, 5, 7, 9]

简化list(filter(lambda x : x % 2, range(10)))

map(Function, iterable)

将iterable的值分别带入function函数中,组成数组输出

list(map(lambda x : x*2, range(10)))结果为[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

原文地址:/jdzhang1995/p/10234799.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。