Python学习之路——函数
一、Python2.X内置函数表:

注:以上为pyton2.X内置函数,官方网址:https://docs.python.org/2/library/functions.html
二、Python3.X内置函数表:

注:以上为pyton3.X内置函数,官方网址:https://docs.python.org/3.5/library/functions.html
三、自定义函数:
def 函数名(参数):
...
函数体 ...- def:是函数的关键字,告诉python解释器这是一个函数。
- 函数名:这个函数的名称,代码中调用此函数的标识。
- 函数体:函数中进行一些逻辑运算,例如:if判断,for循环,函数等。
- 参数:为此函数体提供数据
- 返回值:当函数执行完毕后,可以给调用者返回数据。例:return。
1、函数返回值:
def x():
if 1 < 0:
return True
else:
return False if x():
print('1小于0')
else:
print('1大于0')
以上实例运行后反回结果结果为:
1大于0
函数反回值(return)
2、向函数传递参数(传参):
函数的参数分为:
- 普通参数
- 默认参数
- 动态参数
(1)、普通参数:
def x(name):
print(name) x:是函数名
name:是x这个函数的形式参数(也叫形参) x('Earl') Earl是x函数的实际参数(也叫实参) 以上实例运行后反回结果结果为:
Earl
普通参数
(2)、默认参数:
def x(name, age=20):
print('name:%s,age:%s' %(name,age)) x:函数名。
name:为x函数的形式参数。
age:为x函数的默认参数。 x('Earl')
以上调用函数为使用默认参数,运行后反回结果结果为:
name:Earl,age:20 x('Earl', 26)
以上调用函数为未使用默认参数,运行后反回结果结果为:
name:Earl,age:26
默认参数
(3)动态参数:
def x(*args):
print(args) 以下是第一种调用方式:
x(1, 2, 3, 'name',) 实例运行后反回结果结果为:
(1, 2, 3, 'name') 以下是第二种调用方式:
lis = [1, 2, 3, 'name', 'age',]
x(*lis) 实例运行后反回结果结果为:
(1, 2, 3, 'name', 'age')
动态参数一
def x(**kwargs):
print(kwargs) 以下是第一种执行方式:
x(name='Earl', age=25) 以上实例运行后反回结果结果为:
{'age': 25, 'name': 'Earl'} 以下是第二种执行方式:
dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'}
x(**dic) 以上实例运行后反回结果结果为:
{'address': 'beijing', 'age': 25, 'name': 'Earl'}
动态参数二
print('以上实例运行后反回结果结果为:')
def x(*args, **kwargs):
print(args,kwargs)
以下为第一种调用方式:
x([33, 44, 55], name='Earl',agg=24)
以上实例运行后反回结果结果为:
([33, 44, 55],) {'agg': 24, 'name': 'Earl'}
以下为第二种调用方式:
lis = [1, 2, 3, 'name']
dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'}
x(*lis, **dic)
以上实例运行后反回结果结果为:
(1, 2, 3, 'name') {'address': 'beijing', 'age': 25, 'name': 'Earl'}
动态惨数三
四、lambda表达式:
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
三元运算:
# 普通条件语句
if 1 == 1:
name = 'Earl'
else:
name = 'tom'
print('普通判断:%s' %name) # 三元运算
name = 'Earl' if 1 == 1 else 'tom'
print('三元运算:%s' %name) 以上实例运行后反回结果结果为:
普通判断:Earl
三元运算:Earl
三元运算
对于简单的函数,也存在一种简便的表示方式,即:
lambda表达式:
# 定义函数(普通方式)
def x(arg):
return arg + 1 # 执行函数
re = x(100)
print(re) 以上实例运行后反回结果结果为:
101 # 定义函数(lambda表达式)
x = lambda arg: arg + 1 # 执行函数
re = x(100)
print(re) 以上实例运行后反回结果结果为:
101
lambda表达式
五、map函数:
遍历序列,对序列中每个元素进行操作,最终获取新的序列。

li = [11, 22, 33]
new_list = map(lambda a: a + 100, li)
print(list(new_list)) 以上实例运行后反回结果结果为:
[111, 122, 133]
map实例一
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)
print(list(new_list))
以上实例运行后反回结果结果为:
[12, 24, 36]
map实例二
六、filter函数:
对于序列中的元素进行筛选,最终获取符合条件的序列

li = [11, 22, 33]
new_list = filter(lambda arg: arg > 22, li)
print(list(new_list))
以上实例运行后反回结果结果为:
[33]
filter实例
七、with使用:
with可以避免打开文件后忘记关闭,可以通过管理上下文:
with函数:以读的形式打开一个文件log,变量名为f:
with open('log','r') as f:
........
with函数:以读的形式找到两个文件分别是log1与log2,变量名为obj1与obj2:
with open('log1', 'r') as obj1, open('log2','r') as obj2:
pass
with使用
Python学习之路——函数的更多相关文章
- Python学习之路——函数对象作用域名称空间
一.函数对象 # 函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象 # 函数对象的应用 # 1 可以直接被引用 fn = cp_fn # 2 可以当作函数参数传 ...
- Python学习之路——函数的参数分类
今日内容 '''实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合*****形参:定义函数,在括号内声明的变量名,用来接受外界传来的值''''''注:形参随着函数的调用 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路------你想要的都在这里了
python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
随机推荐
- 教你看懂C++类库函数定义之三---_stdcall
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:h ...
- Google浏览器调试js
1.进入source找到js位置 一般js文件就到js目录下找,tpl中的就到tpl中找. 我这次写在tpl中的,就到list中找,它就把list中的js单独显示出来了. 2.设置断点,进行排错.刷新 ...
- HDU 5818 Joint Stacks(左偏树)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5818 [题目大意] 给出两个栈A B(初始时为空),有三种操作: push.pop.merge. ...
- POJ 3261 Milk Patterns(后缀数组+二分答案)
[题目链接] http://poj.org/problem?id=3261 [题目大意] 求最长可允许重叠的出现次数不小于k的子串. [题解] 对原串做一遍后缀数组,二分子串长度x,将前缀相同长度超过 ...
- POJ 1743 Musical Theme(后缀数组+二分答案)
[题目链接] http://poj.org/problem?id=1743 [题目大意] 给出一首曲子的曲谱,上面的音符用不大于88的数字表示, 现在请你确定它主旋律的长度,主旋律指的是出现超过一次, ...
- HDU ACM 1063 Exponentiation 大实数乘方
分析:大实数乘方计算. #include<iostream> #include<string> using namespace std; struct BigReal //高精 ...
- swift菜鸟入门视频教程-03-字符串和字符
本人自己录制的swift菜鸟入门,欢迎大家拍砖.有什么问题能够在这里留言. 主要内容: 字符串字面量 初始化空字符串 字符串可变性 字符串是值类型 使用字符 计算字符数量 连接字符串和字符 字符串插值 ...
- TCP状态转换机说明
建立一个 TCP 连接TCP 是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.本节将详细讨论一个TCP 连接是如何建立的以及通信结束后是如何终止的. TCP使用三 ...
- linux内核之网络协议栈
https://www.ibm.com/developerworks/cn/linux/l-ntflt/
- c 查找A字符串在B字符串中是否存在,计算出现的次数
主要是应用了头文件<string.h>中的strstr函数 char * strstr(const char *s1, const char *s2); 查找是否存在: #include& ...