学习内容:

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

现需要对这个员工信息文件,实现增删改查操作

  1. 可进行模糊查询,语法至少支持下面3种:
    1.   select name,age from staff_table where age > 22
    2.   select  * from staff_table where dept = "IT"
    3. select  * from staff_table where enroll_date like "2013"
    4. 查到的信息,打印后,最后面还要显示查到的条数
  2. 可创建新员工纪录,以phone做唯一键,staff_id需自增
  3. 可删除指定员工信息纪录,输入员工id,即可删除
  4. 可修改员工信息,语法如下:
    1.   UPDATE staff_table SET dept="Market" WHERE where dept = "IT"

 注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!

PYTHON学习之路_PYTHON基础(4)的更多相关文章

  1. PYTHON学习之路_PYTHON基础(1)

    学习内容: 1.Python介绍 2.Python程序初接触和变量 3.Python用户交互 4.Python数据类型 5.Python循环if...(elif)...else 6.Python循环w ...

  2. PYTHON学习之路_PYTHON基础(10)

    学习内容: Python进程与线程 1.线程及线程类 2.线程守护 3.线程等待 4.线程锁 5.信号量 6.timer用法 7.队列 8.事件驱动 9.生产者消费者模型 10.进程及进程同步 11. ...

  3. PYTHON学习之路_PYTHON基础(8)

    学习内容: Python模块介绍 1.经典类 or 新式类 2.抽象接口 3.静态方法.类方法.属性方法 4.反射 5.异常处理 6.socket编程初识 7.用socket实现get.put文件等功 ...

  4. PYTHON学习之路_PYTHON基础(6)

    学习内容: Python模块介绍 1.time &datetime模块 2.random 3.shutil 4.shelve 5.xml处理 6.configparser 7.hashlib ...

  5. PYTHON学习之路_PYTHON基础(3)

    学习内容: 1.Python字典 2.Python集合 3.Python字符编码 4.Python文件操作 5.Python实例 一.Python字典 1.定义: dic1={'name':'alex ...

  6. PYTHON学习之路_PYTHON基础(2)

    学习内容: 1.Python数据类型与变量 2.Python字符串 3.Python列表 4.Python while循环 5.Python字典 6.Python实例 一.Python数据类型与变量 ...

  7. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  8. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  9. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

随机推荐

  1. JSP中的 HttpSession、pageContext对象

    pageContext 隐含对象对应javax.servlet.jsp.PageContext,都自动的被加入至pageContext中, 您可以由它来取得与JSP相关的对应之Servlet对象,像是 ...

  2. web开发工具软件使用问题记录

    一.右键 - 添加Git Bash Here菜单 转自:http://blog.csdn.net/u014527912/article/details/51723735 步骤: 1.通过在“运行”中输 ...

  3. Windows 程序设计

    一.Win32 API /******************************************************************** created: 2014/04/1 ...

  4. jQuery Mobile 可折叠

    可折叠的内容块 可折叠(Collapsibles)允许您隐藏或显示内容 - 对于存储部分信息很有用. 如需创建可折叠的内容块,请向某个容器分配 data-role="collapsible& ...

  5. javascript函数声明方式

    javascript中函数的声明有三种方式: 最常见的函数声明: fun();//可以调用,因为这种声明方式会被浏览器优先加载. function fun() { alert("声明式的函数 ...

  6. new(C# 参考)

    在 C# 中,new 关键字可用作运算符.修饰符或约束. new 运算符 用于创建对象和调用构造函数. new 修饰符 用于隐藏基类中被继承的成员. new 约束 用于在泛型声明中约束可能用作类型参数 ...

  7. MySQL binlog基本操作

    常用操作: 1. 设置启用binlog log-bin = binlog 2. 设置全备和增量备份 #crontab -e * 0 * * 7 /usr/bin/mysqldump mybinlog ...

  8. liunx打开指定端口

    1.切换为root用户 2.切换路径至:/etc/sysconfig 3.vi编辑添加一行: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3 ...

  9. Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc

    1. cut [选项] 文件名 -f  列号 #提取第几列(分隔符默认为\t) -d  分隔符 #指定分隔符 例如:cut -f 2 a.txt #截取文件a.txt内容的第二列(列号从1开始) cu ...

  10. RHEL7学习之crontab无法执行ntpdate

    1,"/etc/crontab"文件 [root@localhost ~]# more /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/ ...