美文网首页
python编程基础11-函数

python编程基础11-函数

作者: 疯子李 | 来源:发表于2023-12-16 02:49 被阅读0次
"""一、函数的作用
函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段
函数能提高应用的模块性和代码的重复利用率
python内置函数:https://docs.python.org/zh-cn/3.8/library/functions.html"""

"""二、函数的定义
def:函数关键字
function_name:函数名称
parameter_list:可选,指定向函数的参数
def function_name([parameter_list]):
    ['''xxx''']
    [function_body]
注意缩进:python通过严格的缩进来判断代码块
    函数体和注释相对def关键字保持一定的缩进,一般4个空格"""

def fun_a(a,b,c):
    """这是一个函数"""
    print(f"传入的参数为{a}{b}{c}")

#打印函数comments内容
print(fun_a.__doc__) #这是一个函数
help(fun_a)

#定义空函数
#1、comments
def fun_demo1():
    """这是一个函数"""
#2、pass占位
def fun_demo2():
    pass

"""三、函数调用"""
#无参数
def fun_demo3():
    """函数"""
    print("这是函数")

fun_demo3()  #这是函数

#有参数
def fun_demo4(a,b,c):
    """这是一个函数"""
    print(f"传入的参数为{a}{b}{c}")

fun_demo4(1,2,3) #传入的参数为123

"""四、函数传递
形式参数:定义函数时,函数名称后面括号中的参数 abc
实际参数:调用函数时,函数名称后面括号中的参数 123"""

"""五、位置函数
数量必须与定义一致
位置必须与定义一致"""
#1、错误例子-数量错误
fun_demo4(1,2)  #TypeError: fun_demo4() missing 1 required positional argument: 'c'
fun_demo4(1,2,3,4)  #TypeError: fun_demo4() takes 3 positional arguments but 4 were given
#2、错误例子-位置传错
def person(name,age):
    print(f"姓名为:{name}")
    if age>=18:
        print(f"{name}已成年")
person(20,"yanfa")  #TypeError: '>=' not supported between instances of 'str' and 'int'
person("yanfa",20) #姓名为:yanfa yanfa已成年


"""六、关键字参数
使用形式参数的名字确定输入的参数值
不需要与形式参数的位置完全一致"""
def fun_demo4(a,b,c):
    """这是一个函数"""
    print(f"传入的参数为{a}{b}{c}")
fun_demo4(a=1,c=3,b=2)  #传入的参数为123

"""七、为参数设置默认值
定义函数时可以指定形式参数的默认值,需要是不可变对象如数字/字符串/元祖,否则默认值会随着调用发生变化
指定默认值的形式参数必须放在所有参数的最后,否则会产生语法错误
param=default_value:可选,指定参数并且为该函数设置默认值为default_value
def function_name(...,[param=default_value]
    [function_body]"""

#1、不传参数
def fun_1(b=0):
    print(f"传入参数为:{b}")
fun_1()  #传入参数为:0

#2、错误示例-默认值不放最后
def fun_2(a,b=1,c):
    print(f"传入参数为:{b}")

#3、错误示例,默认值为空列表
#需要是不可变对象如数字/字符串/元祖,否则默认值会随着调用发生变化
def fun_3(a,b,c=[]):
    c.append(a)
    c.append(b)
    print(f"传入参数为:{a} {b} {c}")
fun_3(1,2) #传入参数为:1 2 [1, 2]
fun_3(3,4) #传入参数为:3 4 [1, 2, 3, 4]

"""函数返回值
return [value]
"""
#1、不传值则返回None
def sum(a,b):
    result=a+b
    return

res=sum(1,2)
print(res) #None

#2、返回一个值
def sum(a,b):
    result=a+b
    return result
res=sum(1,2)
print(res) #3

#3、返回多个值,用逗号分隔,作为元祖
def sum(a,b):
    result=a+b
    return result,a,b
res=sum(1,2)
print(res) #(3, 1, 2)
print(type(res)) #<class 'tuple'>

相关文章

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • Python入门

    Python3教程 安装Python 第一个Python程序 Python基础 函数 高级特性 函数式编程 模块 ...

  • 一. pygame 环境配置

    本篇适合零基础的同学,从简单的语法入手,了解python编程以及学习python编程的基本方法,函数调用,编...

  • 廖雪峰python3 教程

    观其大纲 1 python基础 2 函数 3 高级特性 4 函数式编程 5 模块 6 面向对象编程 7 面向对象高...

  • python中的数据类型(list,tuple,dict,set

    该系列文章: 《python入门,编程基础概念介绍(变量,条件,函数,循环)》 《python中的数据类型(lis...

  • 在python中创建对象(object)

    该系列文章: 《python入门,编程基础概念介绍(变量,条件,函数,循环)》 《python中的数据类型(lis...

  • Python OOP-1

    0. OOP-Python面向对象 Python面向对象 面向对象编程基础公有私有继承组合,Mixin 魔法函数魔...

  • python人工智能

    AI领域Python的最小知识范围 Python的类型,变量,流程控制语句 字符和编码 数据容器 函数式编程基础 ...

  • 高阶python 函数式编程

    高阶python 函数式编程 - 函数式 函数式编程(FunctionalProgramming) - 基于lam...

  • 0基础直接学 Python 编程合适吗?Python语言能做什么

    0基础直接学 Python 编程合适吗? 0基础非常适合学习Python编程,因为在目前的编程语言中,Python...

网友评论

      本文标题:python编程基础11-函数

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