Python的函数(二)

一、函数相关概念

1.全局变量:在函数外,上方定义的变量就是全局变量

2.局部变量:在函数里定义的,出了函数后就不能使用了,如果想在函数里修改全局变量的值,则需要在函数里变量前加关键字global,但是字典跟list这个可变变量,不需要用

global来声明,直接就可以改了。

3.参数的几个例子:

a.可变参数,参数组-元组形式:

def send_mail(*args):

   print(args)

send_mail('[email protected]','[email protected]','[email protected]')

b.可变参数,参数组-字典形式:

def send_mail(**kwargs):

   print(kwargs)

send_mail(k1='v1',k2='v2')

二、函数的递归

1.函数自己调用自己,最多循环999次

2.用递归的话,必须得有一个明确的结束条件

3.例子:

def my2():
num = input('输入一个数字:')
num = int(num)
if num%2 !=0:
print('请输入偶数')
return my2()
my2()

三、列表推导式、列表生成式

1.例子:

import random
res = [26, 7, 18, 27, 32, 28]
for i in range(len(res)):
res[i] = str(res[i]).zfill(2)
#列表推导式,列表生成式
res1 = [ str(i).zfill(2) for i in res]--等同于上面的for循环
print(res1)
res2 = [ i+10 for i in res ]
print(res2)
hh = [ i for i in range(0,1001,2)]
print(hh)

四、内置函数

1.max(range(1,28)) --最大值,运行结果:27

2.min(range(28)) --最小值,运行结果:0

3.sum(range(1,101)) --求和,运行结果:5050

4.res = sorted([2,3,1,2,3],reverse=True)  --排序,加上reverse=True就是降序排列了

5.res = eval('1+1')  --eval,执行python代码,只能执行简单的python代码

6.f = open('code',encoding='utf-8')   code = f.read()   exec(code)  ---exec,可执行在文件里的python代码

7.sql = 'insert into my_user value ({id},{name},{addr},{sex},{phone}) '

   sql.format(name='aaa',addr='sdfsfd',sex='xxx',id=11)  --format函数是格式化字符串的函数

8. for index,s in enumerate(stus): print(index,s)   --enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,返回 enumerate(枚举) 对象,如果下标起始位置写为1,就返回的是从序号1开始枚举对象。

9.for name,se,ag in zip(stus,sex,age):print(name,se,ag)   --多个list压缩到一起

  

     

猜你喜欢

转载自www.cnblogs.com/yz-test/p/9260775.html