学习内容:
1、Python函数的基本语法
2、Python函数的返回值与变量
3、Python嵌套函数
4、Python递归函数及实例(二分查找)
5、Python匿名函数
6、Python内置方法
7、Python实例
一、Python函数的基本语法
1、定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可
def f(n):
print (n**n)
return n**2
2、特性
(一)减少重复代码
(二)使程序变的可扩展
(三)使程序变得易维护
3、参数
(一)形参
定义函数时使用的参数叫形参。
(二)实参
调用函数时使用的参数叫实参。
(三)默认参数
默认参数是预先将函数变量赋值,默认参数的位置需放在后面
(四)关键参数
关键参数必须放置在位置参数后面
(五)非固定参数
*args 非字典类型 **kwargs 字典类型
二、Python函数的返回值与变量的作用域
1、函数执行后return语句指定返回的内容。return语句同时也代表着函数的结束。若不指定则返回None。
2、局部变量的作用域只是函数体内;全局变量的作用域是整个程序。
三、Python嵌套函数
函数中定义一个函数即为嵌套函数
四、Python递归函数及实例(二分查找)
函数中定义的函数是函数本身,即为递归函数。
二分查找法实例:
# data = [1,3,5,7,9,11,13,14,15,17,18,27,34,35,37,38,39,46]# def func(list,find_num):# middle_list = int(len(list) / 2)# if len(list)>0:## if list[middle_list] == find_num:# print (‘got it....‘,list[middle_list])# exit()# if list[middle_list] > find_num:# list=list[:middle_list]# print (‘going to left side‘,list[:middle_list])# func(list,find_num)# else:# list=list[middle_list+1:]# print (‘going to right side‘,list[middle_list+1:])# func(list,find_num)# else:# print (‘None...‘)## func(data,9)
五、Python匿名函数
匿名函数lambda:
res=map(lambda x:x**x,range(10))for i in res: print(i)
六、Python内置方法
# print(chr(98))# print(ord(‘b‘))# name = "alex"# print(callable(sayhi))# print(callable(name))# print(ascii("地方"))# print(bin(10))# f = open("返回值.py",encoding="utf-8")# print(dir(f))# code = compile(f.read(),‘‘,‘exec‘)# print( code )# exec(code)# print(divmod(10,3))# for i in filter(lambda x:x>5, range(10)):# print(i)# a = frozenset({1,4,5,5,6})# b = {1,4,5,5,6}# print(a)# def sayhi():# name="alex"# print(locals())# print(globals()) #把当前程序所在内存里的所有数据都以字典的形式打印出来# print(min([4,2,5,77,2]))# print(oct(8))# print(pow(4,9))# msg = "又回到最初的起点"# f = open("tofile","w",encoding="utf-8")# print(msg,"记忆中你青涩的脸",sep="|",end="=",file=f)# data = "abc"# data = reversed(data)# for i in data:print(i)# print(round(10.26,1))# data = [10,2,3,45,56,3]# print(sum(data))# print(vars())# print(set(data))# a = range(20)# pattern = slice(3,8,1)# for i in a[pattern]: #等于a[3:8:2]# print(i)# a = "alex"# a = sorted(a)# print(a)
七、Python实例
有以下员工信息表
当然此表你在文件存储时可以这样表示
1 |
|
现需要对这个员工信息文件,实现增删改查操作
- 可进行模糊查询,语法至少支持下面3种:
- select name,age from staff_table where age > 22
- select * from staff_table where dept = "IT"
- select * from staff_table where enroll_date like "2013"
- 查到的信息,打印后,最后面还要显示查到的条数
- 可创建新员工纪录,以phone做唯一键,staff_id需自增
- 可删除指定员工信息纪录,输入员工id,即可删除
- 可修改员工信息,语法如下:
- UPDATE staff_table SET dept="Market" WHERE where dept = "IT"
注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!
时间: 2024-12-12 15:09:41