函数的相关操作

定义、调用函数:

定义函数时需要添加函数文档说明:

def print_menu():
    '''  这是打印50个 - + 号用的    '''
	print('-'*50)
	print('+'*50)
a = input('请输入一个数:')
if a>=20:
	print_menu() #先定义在调用 否则会报错
else:
	print('你输入的数小于20')

可以定义多个函数 也可以在函数里调用函数。
注意:位置顺序是没有关系的(没有先定义哪个函数后定义哪个函数的说法,调用函数的时候需要根据整个功能的逻辑,来确定需要调用哪个函数):

带有参数的函数:

In [1]: def num_2 (a,b):
   ...:     result = a+b
   ...:     print('%d+%d=%d'%(a,b,result))
   ...:

In [2]: num1 = 678

In [3]: num2 = 569

In [4]: num_2(num1,num2)
678+569=1247

如果函数有三个参数的话,则调用函数时的参数也得有三个

使用return关键词进行改进程序:

In [5]: def num_2 (a,b):
   ...:     result = a+b
   ...:     return result
   
In [6]: num1 = 678

In [7]: num2 = 569

In [8]: rr = num_2(num1,num2)

In [9]: rr
Out[9]: 1247

return不是必须出现在函数里的,定义函数里面没有return关键词,那函数的执行结果 ’ '。
如果函数里没有return,则函数会从头到尾执行一遍。
如果函数里只有return后面没有变量,则函数执行到return 后面不再执行,函数返回结果为 ’ '。
return的作用:结束整个函数,return后面的代码就不执行了。
return关键词都可以返回一个变量名,还可以写一个字符串,还可以写一个数字…,总之:return后面的代码就是返回的内容,如果return后面没有任何代码那返回值就是None跟没有写return关键词的效果一样。
作用域的问题:

函数与函数之间是独立的,不能相互进行使用数据的。
如果想要上一个函数的变量可以用return找个变量接收一下,那个变量就可以用了。

全局变量和局部变量的区别:

全局变量和局部变量名字相同的时候:函数会使局部变量。
全局变量命名-建议:在变量名前加个g 如: g_a= 100。
在函数里修改全局变量的话需要先声明一下 如: global g_a=100。
列表、字典是可以当做全局变量进行使用。

缺省参数===形参的默认值:

In [11]: def num_2 (a,b= 20):
    ...:     result = a+b
    ...:     return result
    ...:
In [12]: num_2(a=20)
Out[12]: 40

总结:如果函数的参数有默认值的时候,在调用该函数的时候,如果没有传递该默认值的参数,那么就使用默认值的数值,如果传递了该默认值的参数,就使用你所传递的那个值。

命名参数:
下面在调用函数时c没有赋值 直接给d赋值 d这样的叫做命名参数

In [16]: def num_2(a,b,c=20,d=10):
    ...:     result = a+b+c+d
    ...:     return result
    ...:
    ...:

In [17]: num_2(10,30,d=80)
Out[17]: 140

注意事项:一般缺省参数和命名参数都需要放在所有参数的最后,前面的参数进行一一对应起来。

不定长参数:

*args :是一个元组 没有参数给到时 输出一个()。
**kwargs : 是一个字典,没有参数给到时 输出一个{ }。
总结:传递参数的时候不带变量名的通通给了args,带变量名的给了kwargs

不可变、可变类型

python中不可变的数据类型为:数字、字符串、元组。
python中可变的数据类型为:字典和列表。

交换变量的方法:

在python里很简单

In [18]: a = 12345678

In [19]: b = 'abcdefg'

In [20]: a,b = b ,a

In [21]: a
Out[21]: 'abcdefg'

In [22]: b
Out[22]: 12345678

递归:就是自己调用自己。

求5 的阶乘:

In [26]: def getNums(num):
    ...:     if num>1:
    ...:         return num* getNums(num-1)
    ...:     else:
    ...:         return num
    ...:

In [27]: a = 5

In [28]: b = getNums(a)

In [29]: b
Out[29]: 120

In [30]: c = 5*4*3*2*1

In [31]: c
Out[31]: 120
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值