专栏首页python3python函数的用法

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","5",""),
        ("D311","7",""),
        ("T411","","8"),
        ("K511","","6")
        ]
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))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python学习笔记4——函数

    Help on built-in function print in module builtins:

    py3study
  • python3-2笔记

    一.深复制和浅复制 1.引用和赋值 引用是一个值,指向某些数据 列表引用是指向一个列表的值 当你将列表赋给你一个变量时,实际上是将列表的‘引用’赋给了改变变量。...

    py3study
  • 【机器学习】Python 快速入门笔记

            在模块内、所有函数外、class外的变量,可以被全局共享,也可以被外部文件共享

    py3study
  • Python学习笔记4——函数

    Help on built-in function print in module builtins:

    py3study
  • 匿名函数,内置函数,闭包

    练习: def func(a,b): return a + b print(func(4,5)) # 构建匿名函数 func1 = lambda ...

    py3study
  • Python基础学习(二)

    函数是对程序逻辑进行结构化或是过程化的一种编程方法,其是组织好的,可重复使用的,用来实现单一,或者相同功能的代码段。

    py3study
  • Python3.6 异常处理和asser

    py3study
  • 【机器学习】Python 快速入门笔记

            在模块内、所有函数外、class外的变量,可以被全局共享,也可以被外部文件共享

    py3study
  • 6.python变量

    何为python变量,即数据类型。python变量一共六种类型:整数/浮点数/字符串/BOOL/列表/元组/字典,今天先讲解前四种,后三种留到后面的文章...

    猿说编程[Python和C]
  • Dart常用的数据类型

    wePanda

扫码关注云+社区

领取腾讯云代金券