PYTHON学习之路_PYTHON基础(4)
学习内容:
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
|
1,Alex Li,22,13651054608,IT,2013-04-01 |
现需要对这个员工信息文件,实现增删改查操作
- 可进行模糊查询,语法至少支持下面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"
注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!
PYTHON学习之路_PYTHON基础(4)的更多相关文章
- PYTHON学习之路_PYTHON基础(1)
学习内容: 1.Python介绍 2.Python程序初接触和变量 3.Python用户交互 4.Python数据类型 5.Python循环if...(elif)...else 6.Python循环w ...
- PYTHON学习之路_PYTHON基础(10)
学习内容: Python进程与线程 1.线程及线程类 2.线程守护 3.线程等待 4.线程锁 5.信号量 6.timer用法 7.队列 8.事件驱动 9.生产者消费者模型 10.进程及进程同步 11. ...
- PYTHON学习之路_PYTHON基础(8)
学习内容: Python模块介绍 1.经典类 or 新式类 2.抽象接口 3.静态方法.类方法.属性方法 4.反射 5.异常处理 6.socket编程初识 7.用socket实现get.put文件等功 ...
- PYTHON学习之路_PYTHON基础(6)
学习内容: Python模块介绍 1.time &datetime模块 2.random 3.shutil 4.shelve 5.xml处理 6.configparser 7.hashlib ...
- PYTHON学习之路_PYTHON基础(3)
学习内容: 1.Python字典 2.Python集合 3.Python字符编码 4.Python文件操作 5.Python实例 一.Python字典 1.定义: dic1={'name':'alex ...
- PYTHON学习之路_PYTHON基础(2)
学习内容: 1.Python数据类型与变量 2.Python字符串 3.Python列表 4.Python while循环 5.Python字典 6.Python实例 一.Python数据类型与变量 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
随机推荐
- I/O流——其他流
其他流 一.ObjectInputStream/ObjectOutputStream ① ObjectInputStream和ObjectOutputStream分别与FileInputStream和 ...
- 8086cpu-intel汇编指令简介
jcxz 有条件跳转指令,cx为跳转条件.如果(cx)==0则跳转到指定标号处.跳转地址在机器码中已相对位置(-128~127)给出. 相当于 if((cx)==0) ...
- (转) PowerDesigner逆向工程导入MYSQL数据库总结
PowerDesigner逆向工程导入MySQL数据库总结 由于日常数据建模经常使用PowerDesigner,使用逆向工程能更加快速的生成模型提高效率,所以总结使用如下: 1. 安装MYS ...
- db2 重启
DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...
- java_jdk_JDK版本切换批处理脚本
我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:
- Xcode Custom Shortcut
edit file "/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources" add < ...
- nerual style 执行命令
python neural_style.py --content ./examples/4-content.jpg --styles ./examples/4-faguo-style.jpg --ou ...
- java socket 网络编程常见异常
1.java.net.SocketTimeoutException 这个异常比较常见,socket超时.一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(Socket ...
- Visual Studio2008环境下查找C#中方法的“查看所有引用”
在Visual Studio开发环境下,想必F12我们都很熟悉了,有没有用过“查看所有引用”呢? 尤其是在一个解决方案中,包含了很多项目,彼此相互的调用是很常见的,例如三层架构, BLL调用DAL,D ...
- Object.assign()方法
对象的扩展 1.ES6中,对象的属性和方法可简写:对象的属性值可不写,前提是属性名已经声明: var name = "zhangsan"; "; var obj = { ...