2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python中函数的返回值_python--函数的返回值 函数的参数

python中函数的返回值_python--函数的返回值 函数的参数

时间:2023-02-02 16:48:29

相关推荐

python中函数的返回值_python--函数的返回值 函数的参数

函数的返回值

特性:

减少重复代码

使程序变的可扩展

使程序变得易维护

函数名:命名规则和变量一样

函数的返回值:

return, 函数执行完毕. 不会执行后面逻辑

如果函数中不写return返回None

只写return 返回None

return 返回值. 返回一个值

return 值1, 值2,... 返回多个值. 调用方接收到的是元组

遇到return结束函数里的语句,下面的不会执行

没有return,返回None

deffoo():print('foo')

foo#表示是函数

foo() #表示执行foo函数

def sayhi(): #函数名

print("Hello, I'm nobody!")

sayhi()#调用函数

结果:

Hello, I'm nobody!

之前写的乘法是这样的

a, b = 5, 8c= a **bprint(c)

改成函数之后是这样的

a, b = 5, 8

#改成用函数写

defcalc(x, y):

res= x **yreturn res #返回函数执行结果

c= calc(a, b) #结果赋值给c变量

print(c)

函数和过程

函数有return 过程没有return

#函数

deffunc1():print('in the func1')return0#过程

deffunc2():print('in the func2')

x=func1()

y=func2()print('from func1 return is %s' %x)print('from func2 return is %s' % y)

结果:

inthe func1inthe func2from func1 return is0from func2 return is None

import time #导入time模块

def logger(): #定义了函数名为logger

time_format = '%Y-%m-%d %X' #时间格式,Y年m月d日X时分秒

time_current= time.strftime(time_format) #time.strftime引用上面的时间格式

with open('ccc.txt', 'a+') as f:

f.write('%s end action\n' % time_current) #将日期时间和end action写入到f里

defaaa():print('in the test1')

logger()defbbb():print('in the test2')

logger()defccc():print('in the test3')

logger()

aaa()

bbb()

ccc()

结果:

inthe test1inthe test2inthe test3

ccc.txt里写入-06-15 22:17:37end action-06-15 22:17:37end action-06-15 22:17:37 end action

deftest():print('in the test')return0print('end test')

test()

结果:

inthe test#遇到return结束函数里的语句,下面的不会执行

deftest():print('in the test')return0

x=test()print(x)

结果:

inthe test

0

x=test()先执行函数里的内容,最后将函数里的返回值赋给x

deftest():print('in the test')return 1

print(test()) #相当于x=test() print(x)

结果:

inthe test1

没有 return 返回 None

deftest():print('in the test')

x=test()print(x)

结果:

inthe test

None

deftest1():print('in the test1')deftest2():print('in the test2')return0deftest3():print('in the test3')return 1, 'hello', {'name': 'zouzou'}returntest2

x=test1()

y=test2()

z=test3()print(x)print(y)print(z)

结果:

inthe test1inthe test2inthe test3

None

0

(1, 'hello', {'name': 'zouzou'})

先执行x,y,z,在打印他们的返回值

函数的参数

关键字参数不能写在位置参数前面(定义函数时)

参数组不能在位置参数和关键字参数前面

默认参数放在最后面

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

def test(x, y): #x,y叫形参

print(x)print(y)

test(2, 4) #位置参数,实参

def test(x, y): #x,y叫形参

print(x)print(y)

test(x=2, y=3) #关键字参数

def test(x, y=3): #y为默认参数

print(x)print(y)

test(2)

参数组

*args接收的位置参数,转换成元组的形式,没有传参返回空元组

**kwargs接收的关键字参数,转换成字典的形式,没有传参返回空字典

def test(**kwargs): #参数组,接收的参数不确定时用**

print(kwargs)

test()

结果:

{}

def test(*args): #参数组,接收的参数不确定时用*

print(args)

test()

结果:

()

def test(x, *args):print(x)print(args) #打印的是一个元组

test(2, 4, 6, 8)

test(*[6, 8, 9, 45, 5]) #args=tuple[6,8,9,45,5]

结果:

2(4, 6, 8)6(8, 9, 45, 5)

def test(**kwargs): #参数组,接收的参数不确定时用*

print(kwargs) #打印的是一个字典

print(kwargs['name'])print(kwargs['age'])print(kwargs['job'])

test(name='zou', age=18, job='IT') #接收的是关键字参数

结果:

{'name': 'zou', 'age': 18, 'job': 'IT'}

zou18IT

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