python函数的用法
python函数的用法
目录:
1.定义、使用函数
1.函数定义:def
2.函数调用:例:myprint()
3.函数可以当作一个值赋值给一个变量 例:a=myprint() a()
4.写return return必须是最后一句,不写return返回null
2.函数的参数
1.不带参数的函数
2.带固定参数的函数
3.带可变参数的函数
4.带关键字参数的函数
5.参数顺序:固定、可变、关键字参数 #可变参数最多只能有一个
3.变量的作用范围
1.全局变量:除在函数内声明的变量都是全局变量
2.局部变量:当一个变量同时存在于函数内和函数外,函数内优先使用局部变量
3.函数再调用之前,函数内部的变量必须再调用之前存在
4.global 改的是全局变量
5.nonlocal用在嵌套函数,内层改外层
4.可变量与不变量
1.函数内部不能修改不变量,在内部只是把值传进去,外部仍然是原来的值
2.可变量:列表、字典、集合
3.不变量:数字、字符串、元组
5.匿名函数与高阶函数
1.匿名函数:很短,只用一次
2.高阶函数:
过滤:filter
遍历:map
递归:reduce
排序:sorted
2.函数的参数
print("函数的定义:")
print("不带参数的定义:")
def myfunc():
print("哈哈")
return 1
myfunc()
a=myprint() #先将myprint函数执行一遍,将返回值赋给 a
print("a的值:",a)
print("a的类型",type(a))
b=myprint #b 即myprint函数
b() #调用函数
print("b的值:",b)
print("b的类型",type(b))
print("带固定参数的定义:")
def myfunc2(a1):
c=sum(a1)
print(c)
myfunc2([1,2])
print("带可变参数的定义:")
def myfunc3(*args):
c=sum(args)
print(c)
myfunc3()
myfunc3(1)
myfunc3(1,2,3)
print("固定参数与可变参数:")
def myfunc4(a,*args):
print(a,args)
myfunc4("a","b")
myfunc4("a","b","c")
print("固定参数、可变参数、关键字参数:")
def myfunc5(a,*args,k=2):
print(a,args,k)
myfunc5(1,2)
myfunc5(1,2,3,k=3)
3.变量的作用范围
#全局变量
print("全局变量:")
a="sss"
for i in a:
m=i
print(a)
print(m)
print("局部变量:")
def mycount():
a=1
b=2
print("局部a",a)
return a+b
res=mycount()
print(res)
print("全局a",a)
print("函数内修改全局变量:")
d=9
a=3
def myfunc(a1,a2):
global a #函数内部修改全局变量
a=4
print("内部a",a)
return a1+a2
print(myfunc(a,d))
print("全局a",a)
print("嵌套函数变量:")
def f1():
a=3
def f2():
nonlocal a #只在嵌套函数中使用,内层修改外层
print(a)
a=5
f2()
print(a)
f1()
4.可变量与不变量
a1="abc"
b1=[1,2,3]
print("不可变量字符串与可变变量列表的用法")
def f1(a,b):
a+="d"
print(a)
b.append(4)
print(b)
f1(a1,b1)
print("字符串是不可变量",a1,"列表是可变量",b1) #字符是不可变量,在函数外值还是原来的值,列表是可变量,在函数内修改,函数外也跟着修改
print("不可变量数字的用法:")
c1=66
def f2(c):
c+=6
print(c)
f2(c1)
print("数字是不可变量",c1)
print("可变变量集合的用法:")
d1={1,4}
def f3(d):
d.add(7)
print(d)
f3(d1)
print("可变变量集合",d1)
print("可变量字典的用法:")
e1={1:"x",2:"y"}
def f4(e):
e[1]="m"
print(e)
f4(e1)
print("可变量字典",e1)
5.匿名函数与高阶函数
filter: filter(function,sequence),function可以是匿名函数或者自定义函数,它会对后面的sequence序列的每个元素判定是否符合函数条件,返回TRUE或者FALSE,从而只留下TRUE的元素;sequence可以是列表、元组或者字符串
map:它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回
reduce:reduce(function,iterable),其中function必须传入两个参数,iterable可以是列表或者元组
sorted:函数对所有可迭代的对象进行排序操作。
python 匿名函数与高阶函数
#匿名函数lambda
print("匿名函数:")
f=lambda i:i*2
print(f(3))
f2=lambda m,n:m*n
print(f2(2,4))
print("高阶函数:")
#筛选filter
print("筛选filter:")
result=[("G211","",""),
("D311","",""),
("T411","",""),
("K511","","")
]
print(list(filter(lambda i:i[0][0] in "GD",result)))
print(list(filter(lambda i:i[0][0] not in "GD",result)))
#遍历map
print("遍历map:")
list(map(print,filter(lambda i:i[0][0] in "GD",result)))
list(map(print,filter(lambda i:i[0][0] not in "GD",result)))
list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))
print(list(map(abs,[-1,2,-3,4])))
#递归reduce
print("递归reduce:")
from functools import reduce
def add(x,y):
return x+y
print(reduce(add,[1,2,3,4,5]))
print(reduce(lambda i,j:i+j,[1,2,3,4,5]))
#排序sorted
print("排序sorted:")
print(sorted([1,5,7,3,-2]))
print(sorted([1,5,7,3,-2],reverse=True))#reverse=True从大到小排序,默认从小到大
l=[('a', 1), ('b', 2), ('d', 6), ('e', 4), ('c', 3)]
print(sorted(l,key=lambda i:i[0]))
print(sorted(l,key=lambda i:i[0],reverse=True))
python函数的用法的更多相关文章
- 四年级--python函数基础用法
一.函数的定义,调用和返回值 1.1 语法 def 函数(参数一,参数二...): ''' 文档注释 ''' 代码逻辑一 代码逻辑二 .... return 返回值 1.2 定义函数的三种形式 说明: ...
- python函数基础用法
函数是通过赋值传递的,参数通过赋值传递给参数,def语句将创建的一个函数对象 并将其赋值给一个变量名! 函数定义的对象属局部作用域,只在函数内部有效,不会影响全局作用域中的对象! 赋值对象属于局部作用 ...
- python函数getopt用法
python内建模块,用来处理命令行参数 格式:getopt(args, shortopts, longopts = []) 参数args一般是sys.argv[1:]sys.argv[0]表示执行文 ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下 Py ...
- python 查找函数的用法
python的导入模块:python解释器先检查当前目录下的导入的模块,如果没有找到再检查sys模块中path中的变量(import sys,sys.path),如果没有找到,就会发生错误.可以使用脚 ...
- 笨方法学python之读写文件、open函数的用法
一.python读写文件相关知识点 close:关闭文件 read:读取文件的内容//你可以把结果赋给一个变量 readline:只读取文件中的一行 truncate 美 /trʌŋ'ket/ :清空 ...
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...
- python format()函数的用法
Python format() 函数的用法 复制自博主 chunlaipiupiupiu 的博客,如有侵权,请联系删除 python中format函数用于字符串的格式化 通过关键字 1 print(' ...
- Python学习笔记(二):条件控制语句与循环语句及常用函数的用法
总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...
随机推荐
- Spring Boot (四)模板引擎Thymeleaf集成
一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供XHTM ...
- 设计模式之装饰模式,session共享的底层原理
前言 还记得当初写spring-session实现分布式集群session的共享的时候,里面有说到利用filter和HttpServletRequestWrapper可以定制自己的getSession ...
- #21 Python异常
前言 运行程序时经常遇到各种错误,例如:ImportError(导入模块错误).IndexError(索引错误).NameError(变量错误).SyntaxError(语法错误).Indentati ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...
- 分布式系统监视zabbix讲解七之分布式监控--技术流ken
分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...
- tomcat编译项目后,classes文件没有相应的改变;
tomcat编译项目后,classes文件没有相应的改变: tomcat不能将项目部署到服务器: 1.首先,在tomcat安装目录webapps中将编译后的整个项目删掉,然后再在eclipse将tom ...
- C#调用C++(QT5.5.1项目)的C++/CLI(CLR项目)项目技术笔记
导航 1.编译环境 2.项目配置 1.设置附加包含目录 2.设置附加库目录 3.设置附加依赖项 3.CLR中各种定义 1.接口定义 2.类定义 3.枚举定义 4.属性定义 4.CLR中各种使用 1.类 ...
- __EF批量删除
控制器: [HttpPost] public int Delete_All(string Id) { List<int> IDS = new List<int>();//创建l ...
- [javaEE] web应用的目录结构&配置虚拟主机
myWebSite | |-- 静态资源和JSP文件都可以直接放在web应用目录下,浏览器可以直接访问 |-- WEB-INF 浏览器没有办法直接访问 |-- classes 动态web运行时的cla ...
- Java学习笔记之——Object类
所有类的祖先 如果一个类没有显式继承,则继承Object 每一个类都直接或间接的是Object的子类 相关API: protected Objectclone() 创建并返回此对象的副本. boole ...