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函数的用法的更多相关文章

  1. 四年级--python函数基础用法

    一.函数的定义,调用和返回值 1.1 语法 def 函数(参数一,参数二...): ''' 文档注释 ''' 代码逻辑一 代码逻辑二 .... return 返回值 1.2 定义函数的三种形式 说明: ...

  2. python函数基础用法

    函数是通过赋值传递的,参数通过赋值传递给参数,def语句将创建的一个函数对象 并将其赋值给一个变量名! 函数定义的对象属局部作用域,只在函数内部有效,不会影响全局作用域中的对象! 赋值对象属于局部作用 ...

  3. python函数getopt用法

    python内建模块,用来处理命令行参数 格式:getopt(args, shortopts, longopts = []) 参数args一般是sys.argv[1:]sys.argv[0]表示执行文 ...

  4. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下   Py ...

  5. python 查找函数的用法

    python的导入模块:python解释器先检查当前目录下的导入的模块,如果没有找到再检查sys模块中path中的变量(import sys,sys.path),如果没有找到,就会发生错误.可以使用脚 ...

  6. 笨方法学python之读写文件、open函数的用法

    一.python读写文件相关知识点 close:关闭文件 read:读取文件的内容//你可以把结果赋给一个变量 readline:只读取文件中的一行 truncate 美 /trʌŋ'ket/ :清空 ...

  7. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

  8. python format()函数的用法

    Python format() 函数的用法 复制自博主 chunlaipiupiupiu 的博客,如有侵权,请联系删除 python中format函数用于字符串的格式化 通过关键字 1 print(' ...

  9. Python学习笔记(二):条件控制语句与循环语句及常用函数的用法

    总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...

随机推荐

  1. 使用minukube部署kubernetes admission webhook实现etcd pod安全删除

    本需求来自于一道面试题

  2. YARN集群的mapreduce测试(一)

    hadoop集群搭建中配置了mapreduce的别名是yarn [hadoop@master01 hadoop]$ mv mapred-site.xml.template mapred-site.xm ...

  3. JDK源码分析(一)—— String

    dir 参考文档 JDK源码分析(1)之 String 相关

  4. mvc 中合并两个list集合

    有时候,在进行查询操作的时候需要将从数据库中查询的两张表进行合并,成为一张表然后返回给前端.或者在原有的一张表基础上面加几个新的字段. 这个时候可以新建一个.class[model类],在这个新建的m ...

  5. 第一册:lesson seventeen。

    原文:How do ;you do? A:Come and meet our employees,Mr.B. B:Thank you Mr.A. A:This is ...and this is .. ...

  6. .net 模拟登陆 post https 请求跳转页面

    AllowAutoRedirect property is true, the Referer property is set automatically when the request is re ...

  7. 将Python脚本打包成可执行文件

    Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安 ...

  8. Python正则进阶

    目录 1.Python正则表达式模块 1.1 正则表达式处理字符串主要有四大功能 1.2 Python中re模块使用正则表达式的两种方法 1.3 正则表达式对象的常用方法 1.4 匹配对象的属性与方法 ...

  9. 7.QT-Qt对象间的父子关系

    Qt对象之间可以存在父子关系 继承于QObject类或者其子类的对象,都称为Qt对象 当指定Qt对象的父对象时 需要通过setParent()成员函数来设置对象间的父子关系 子对象将会把自己的指针地址 ...

  10. Stackoverflow每日问题 系列前言

    都是程序员,想必都对stackoverflow有一定的了解,这个网站是世界上最为活跃的编程知识的论坛网站,上面活跃着数以万计的大神.提问各种有意义有价值的问题,还有这些问题的详细的回答. 但是毕竟是国 ...