python学习笔记三 函数(基础篇)
函数
内置函数

常用的内建函数:
if __name__ == "__main__":
print("hello")
for k,v in enumerate(range()):
print(k,v)
自定义函数
def 定义函数的关键字
函数名,通过函数名调用函数
函数声明,不自动执行;调用后才执行
函数的参数 为函数提供数据;普通参数,关键字参数,默认参数,动态参数;
返回值 当函数执行完毕后,返回的数据;可以同时返回多个值,但其实就是一个tuple
创建函数:
def fib(n):
result = [,]
for i in range(n-):
result.append(result[-]+result[-])
return result
函数的返回值
1.未明确指定返回值,返回None
并非真正的函数:
def show():
print('a')
return
print('b')
x = show()
print(x) a
None
#函数会执行print('a'),然后被return终止,不会继续执行print('b')
2.返回值可以赋值给某个变量
def show(guess):
ret = False
if guess == 'xixi':
ret = True
return ret
ret = show('xixi') if ret:
print("猜对了")
else:
print("猜错了") 猜对了
普通参数:
形式参数,形参;实际参数,实参;参数可以有n个,传入n个参数
def fun2(a1,a2):
print(a1,a2)
fun2('hello,','wolrd')
关键字参数
有时候参数的顺序很难记住,可以提供参数的名字;这样参数顺序不受影响,但是参数名和值一定要对应。
def hello(greet,name):
print('%s,%s!'%(greet,name))
hello(name='csp',greet='hello') hello,csp
默认参数
默认参数只能放在最后,不传入参数则使用默认提供的参数。
def hello1(greet,name="koka"):
print('%s,%s!'%(greet,name))
hello1('hello')
hello,koka!
动态参数
定义时添加*,接受多个参数,内部构造元组
def xixi(*arg):
print(arg,type(arg))
xixi(,,,) (, , ,) <class 'tuple'>
定义时添加**,接受多个参数,内部构造字典
def haha(**args):
print(args,type(args))
haha(name='koka',age=) {'name': 'koka', 'age': } <class 'dict'>
调用时添加* 或**可以分隔序列和字典,避免内部构造元组或字典
def haha(*arg,**args):
print(arg,type(arg))
print(args,type(args)) haha(,,,,name='doubi')
(, , , ) <class 'tuple'>
{'name': 'doubi'} <class 'dict'> li1= [,,,]
name = {'haha':,'xixi':}
haha(*li1,**name)
(, , , ) <class 'tuple'>
{'haha': , 'xixi': } <class 'dict'> #星号只有在定义(允许使用不定数目的参数)或者调用("分割"字典或者序列)的时候才有效。 #字典元素必须放在后面,否则将报错
haha(name='test',,,) haha(name='test',,,)
^
SyntaxError: positional argument follows keyword argument
一些功能函数
lambda 函数
#普通函数
def func1(arg):
return arg + #匿名函数,执行简单语句
func2 = lambda arg: arg +
print(func2()) #匿名函数也可以像普通函数一样,收集多个参数
fun3 = lambda a,b,*arg,**args: print(a,b,arg,args) fun3(,,,,,name='koka')
filter 函数
过滤函数 对于序列中的元素进行筛选,最终获取符合条件的序列
#filter(function_or_None, iterable)
seq = [,,,,]
filter(lambda a:a>,seq) #返回迭代器,可以基于一个返回布尔值的函数对元素进行过滤
#map(func, *iterables)
l1 = [,,]
l2 = [,,]
def func1(a1,a2):
return a1 + a2
map(func1,l1,l2) [,,]
python学习笔记三 函数(基础篇)的更多相关文章
- 学习笔记三:基础篇Linux基础
Linux基础 直接选择排序>快速排序>基数排序>归并排序 >堆排序>Shell排序>冒泡排序=冒泡排序2 =直接插入排序 一.Linux磁盘分区表示 Linux中 ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- python 学习笔记十三 JQuery(进阶篇)
jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- Python学习笔记三
一. 为什么要使用函数? 函数可以方便阅读代码. 函数可以减少重复代码. 函数可以减少管理操作,减少修改操作. 二. 函数分类: 内置函数:len() sum() max() min() ...
- Python学习笔记 - day6 - 函数
函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- Python学习笔记1:基础
1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 你也可以为源文件指定不同的字符编码.在 #! 行(首行)后插入至少一行特殊的注释行来定义 ...
- Python学习笔记【第五篇】:基础函数
一.函数:函数定义关键字def 后跟函数名称 def 函数名(参数): ... 函数体 ... 返回值 案例: # 定义函数 def say_hei( ...
随机推荐
- [原创] 关于quartz (spring 中的任务调度器)时间配置
1. CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 ...
- Python高频技巧总结[基础篇]
0. 概要说明 python应用最多的场景还是web快速开发.爬虫.自动化运维:简单网站.自动Fuzz脚本.收发邮件脚本.简单验证码识别脚本. 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也 ...
- ios blog
转得一个朋友的博客,大家可以看哈(主要时国外的) 主要分开发教程.示例项目.UI设计.问题解决几块. 开发教程: 即便过了入门阶段,还是要经常看看一些不错的实例教程. .http://mobile.t ...
- C# 文件读取(一)
1. 读写文件的步骤: 创建一个文件流 -- 创建相应的读写器 -- 执行读写操作 -- 关闭读写器 -- 关闭文件流 创建一个文件流: FileStream objfs = new FileSt ...
- SqlServer 中如何查看某一个Sql语句是复用了执行计划,还是重新生成了执行计划
我们知道SqlServer的查询优化器会将所执行的Sql语句的执行计划作缓存,如果后续查询可以复用缓存中的执行计划,那么SqlServer就会为后续查询复用执行计划而不是重新生成一个新的执行计划,因为 ...
- echo date
echo -n 不换行 echo -n '123';echo '456' #结果:123456 echo -e 启用下列反斜杠转义的解释 \b 退格 \t制表 \n 换行 \r 回车 echo -e ...
- zabbix源码安装
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置. 被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据 Server端:通过收集SNMP和agent发 ...
- 使用python脚本监控weblogic
1.python的脚本如下: ############################################################################### #crea ...
- oracle初次使用连接不上
问题描述: win10下,cmd运行 输入sqlplus报一下错误 SP2-1503: 无法初始化 Oracle 调用界面 SP2-0152: ORACLE 不能正常工作 解决办法 cmd右键--以管 ...
- Hibernate,JPA注解@ManyToMany
@ManyToMany默认处理机制,当双向多对多关联中没有定义任何物理映射时, Hibernate根据以下规则生成相应的值: 关联表名: 主表表名+_下划线+从表表名: 关联到主表的外键名:从表用于关 ...