美文网首页
python->函数

python->函数

作者: 也是如此 | 来源:发表于2018-07-18 20:23 被阅读6次

1 函数的基本操作

函数,表示的是生活中的一种行为,这个行为可能需要消耗资源,可能需要汇报结果,我们生活中的行为总的可以分为四类,就像函数一样:
有四种类型:
1 没有数据 没有返回值
2 有数据 没有返回值
3 没有数据 有返回值
4 有数据 有返回值
01 函数的 定义
def 函数名称(参数列表)(参数列表,可以接受0~n个参数)
函数中要执行的代码
[return 返回结果] (可以有返回的结果,也可以没有返回的结果)
声明定义一个函数,并不会执行函数中的代码,只是把这些代码放在了内存里,等调用的时候这些代码才会执行


def eat()
  print("函数中需要执行的代码")
  print("函数中需要执行的代码")
  print("函数中需要执行的代码")

eat()  #函数的调用

函数的命名规范:因为函数括号前面的部分就相当于是一个变量,所以函数的命名规范和变量的命名规范一致(见名知意,字母,数字,下划线组成,数字不能开头)

2 函数的参数

参数:其实就是一种变量,是一种特殊的变量,专门给函数接受数据使用的
函数就相当于是生活中的行为
参数就相当于完成这些行为所需要的资源

def show_mes("name","mes"):
#留言的函数
    print("%s给你留言了:%s" % (name,mes))
show_mes("tom","i am waitting for you")

3 函数的返回值

函数:返回值(返回运算的结果)
返回值操作:return关键字
函数中的代码在执行时,如果一旦执行了return所在的代码,程序直接结束

def kuai_di():
    #帮取快递
    print("取快递的过程.....")
    res = "小狗"
    #返回结果
    return res

带有返回值的函数,调用的时候,我们需要自己定义一个变量存储返回结果,如果不接受函数的返回结果,结果会直接丢失
什么情况下接受返回值呢?
如果执行完有返回值的函数
1.函数之后的代码中不需要这个返回结果进行运算,可以选择不接受返回值
2.函数之后的代码中也需要这个数据,必须接受返回结果

4 全局变量和局部变量

定义:
1.全局变量:所有人都可以使用的变量,全局变量
2.局部变量:只有当前这一个函数可以使用的变量,局部变量
从在函数外部开始声明这个开始,这个变量就成为全局变量,但是在函数中出现的时候也作为全局变量出现

  1. 注意事项
    在函数中如果出现和全局变量名称相同的变量,值不同的话就会报错,除非在函数中的这个变量出现在全局变量之前
    g
name = "hello"

def test():
    age = "13"
    name = "hello"
    print("这是函数内部的变量age")
    name = "你好
    print(name)" #程序会报错

 ->修改
name = "hello"
def test():
global name(声明函数中要使用的全局变量)
 global mes(在函数中声明定义了mes
    age = "13"
    name = "hello"
    print("这是函数内部的变量age")
    name = "你好
    mes = "我很好"
    
print(name) -> "hello"
print(mes) ->"我很好"

在项目开发过程中,处理公共数据。其他的变量,尽量使用局部变量

5 参数操作

在python中参数的操作被强化,功能十分强大
01.位置参数

def test1(p1,p2,p3):
    print(p1,p2,p3)
#调用执行时,传递的实际参数按照位置顺序给形式参数进行赋值
test1(10,20,30)

02.默认值参数
默认值参数:定义函数的参数时,可以给参数赋值
如果函数参数中出现了默认值参数,一般默认值参数放在普通参数后面

def test2(n1,n2,opre"+"):
    print("计算n1:[%s]和n2[%s]进行opra[%s]运算" % (n1, n2, opra)")
#默认值参数如果实际参数传递了实际数据,就使用传递的数据
#如果默认值参数没有传递实参,直接使用默认数据进行运算
test2(10 20) #不输入默认值参数
test2(10,20,“+")#输入默认值参数,输出结果为”+“
  1. 实参关键字参数
    主要目的是提高代码的可读性
def test3(p1,p2,p3)
    print(p1,p2,p3)
#实参关键字参数,调用时可以根据参数名称进行赋值(打破位置参数要求的顺序)
test3 (10,20,30)  #按照默认的位置顺序赋值
test3(p2 = 20,p1 = 10,p3 = 30)#按照形参名称赋值(可以打乱位置顺序)

4.实参强制关键字参数

def test4(*,p1,p2,p3)
    print(p1,p2,p3)
#实参在传递数据时,形式参数中符号*后面的所有参数都要使用key = value的关键字参数
test4(p1 = 10,p2 = 20,p3 = 30)

6 参数操作进阶

1.可变参数
函数在执行过程中,可以接受0~n个参数

def test(*args):
    print("可变参数,在普通参数前添加一个符号*")
    print("test()"函数就可以接受0~n个参数进行操作)
    print(args)

test() 
test("hello")
test("hello", "jerry")
test(1, 3, 5)
test(1, 1, 2, 3, 5, 8, 13, 21)
  1. 可变关键字参数
def test2(**kwargs):
    print("可变关键字参数,就是在普通参数的前面添加符号**")
    print("可变关键字参数,可以接受多个key=value的参数数据")
    print("并且可以接受0~n个k=v的数据")
    print("并且将数据包含在字典中")
    print(kwargs, kwargs.get('name'))")2

test2(name = "tom")
test2(name = "shuke",age = 18)
test2(name = "hello",age= 10,heigh = "182")

3.万能形参

def test3(*args,**kwargs):
    print(args,kwargs)
#在满足规范的情况下,可以接受任何参数
test3()
test3("hello")
test3("hello",name = "shuke")

7 解包

解包:将组合数据类型拆分

def test(p1, p2):
    print(p1, p2)
# 非正常调用:字典解包
nums2 = {"p1": 100, "p2": 200}
test(**nums2)  # test(**nums2)

7 函数的相互调用

也就是在生活中执行一种行为的过程中,可能调用另一个行为去执行
看书(行为) 写字(行为)

1.在函数中,一个函数可以调用另一个函数的代码

def read():
    print("看书“)
    write()

def write():
    print("写字")

read()

2.函数中调用执行自己的函数:自己调用自己->递归调用

def login():
    name = input("请输入账号:")
    if name == "admin"
        print("账号输入正确")
        return name
    login()

login()

相关文章

  • python->函数

    1 函数的基本操作 函数,表示的是生活中的一种行为,这个行为可能需要消耗资源,可能需要汇报结果,我们生活中的行为总...

  • python->if 语句

    选择结构 选择:判断条件:真|假代码块:要执行的代码基本语法:单分支选择结构if 条件:条件为真要执行的代码 选择...

  • python->元类

    一切皆对象,元类是用来定义和构建类型的,所以说,万物起始->元类 1 类:也是对象 在大多数编程语言中,类就是一组...

  • python-> 面向对象

    1.概述 在编程开发中的面向对象这一思想就如我们生活中的一些场景,一些行为人->认识世界周围的事情简单 ->一个一...

  • Python->获取当前时间(转)

    1.先导入库:import datetime2.获取当前日期和时间:now_time = datetime.dat...

  • python->正则表达式

    searchString = "010-123456780"regular = r"^010-\d{8}"prin...

  • python->tkinter模块常用参数(python3

    1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()) root.title('标题名...

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

网友评论

      本文标题:python->函数

      本文链接:https://www.haomeiwen.com/subject/rrjapftx.html