首页 > 其他分享 >7.函数入门

7.函数入门

时间:2022-10-12 22:24:08浏览次数:64  
标签:入门 age name 参数 print def 函数

函数

  • 函数的作⽤
  • 函数的使⽤步骤
  • 函数的参数作⽤
  • 函数的返回值作⽤
  • 函数的说明⽂档
  • 函数嵌套

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。也可以自己创建函数,叫做用户自定义函数。

函数的使⽤步骤

定义一个函数

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
def 函数名(参数):
    "函数文档字符串"
    代码1
    代码2
    ......

函数的调用

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

函数必须调用才会进行执行

# 函数名(参数)

不同的需求,参数可有可⽆。

在Python中,函数必须先定义后使⽤。

# 定义函数
def demo():
   print("我是dmeo函数")
 
# 调用函数
demo()

函数的参数作⽤

  • 必备参数
  • 关键字参数
  • 默认参数
  • 不定长参数

必备参数

必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用demo()函数,你必须传入一个参数,不然会出现语法错误:

完成需求如下:⼀个函数完成两个数1和2的加法运算,如何书写程序?

# 定义函数
def demo():
 result = 1 + 2
 print(result)
# 调⽤函数
demo()

上述demo函数只能完成数字1和2的加法运算,如果想要这个函数变得更灵活,可以计算任何⽤户指定的两个数字的和,如何书写程序?

# 定义函数时同时定义了接收⽤户数据的参数a和b
def demo2(a, b):
    result = a + b
    print(result)
# 调⽤函数时传⼊了真实的数据10 和 20
demo2(10, 20)

关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

def demo3(name,age):
    print(f"我是{name},今年{age}岁")

name = "张三"
age = 18
# 函数在调用的时候将定义好的name和age传递进去
demo3(name,age)

默认参数

调用函数时,默认参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入

def demo1(name="张三",age=18):
    print(f"大家好,我是{name},今年{age}岁了")

demo1()
# 大家好,我是张三,今年18岁了
demo1(name="李四",age=19)
# 大家好,我是李四,今年19岁了

不定长参数

python自定义函数中有两种不定长参数,第一种是*XXX,在传入额外的参数时可以不用指明参数名,直接传入参数值即可。第二种是**XXX,这种类型返回的是字典,传入时需要指定参数名。

def demo2(*args):
    print(args)

demo2(1,2,3,4,4,5)

**加了一个星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。加了两个星号 ** 的参数会以字典的形式导入,存放已命名的变量参数。

def demo2(num, *args, **kwargs):
    print(num)
    print(args)
    print(kwargs)

demo2(11, 22, 33, a=18, b=19, c=20)

函数的返回值作⽤

return语句[表达式]退出函数

def demo1():
    for i in range(1,10):
        return i

print(demo1())

变量作用域

一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。

  • 全局变量
  • 局部变量
# 全局变量
num = 10
def demo():
    result = num+20
    print(result)

demo()
def demo2():
    global num    # 声明num为全局变量
    num = 10      # 局部变量

demo2()
result = num+20
print(result)

函数的嵌套使用

所谓函数嵌套调⽤指的是⼀个函数⾥⾯⼜调⽤了另外⼀个函数

标签:入门,age,name,参数,print,def,函数
From: https://www.cnblogs.com/blog4lyh/p/16786315.html

相关文章

  • 有参装饰器及递归函数
    昨日内容回顾global与nonlocal关键字global 函数体内部调用全局名称空间内的变量。nonlocal 函数嵌套后,内部函数调用外部函数名称空间内的变量。闭包函数函数嵌套......
  • L04-01. 闭包函数
    一.什么是闭包1.闭包由一个函数和该函数会访问到的非局部变量(upvalue)组成的,其中非局部变量(upvalue)是指不是在局部作用范围内定义的一个变量,但同时又不是一个全......
  • 【每周CV论文推荐】 深度学习人脸检测入门必读文章
    欢迎来到《每周CV论文推荐》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。人脸图像是整个图像处理领域里......
  • 【NLP-词向量】从模型结构到损失函数详解word2vec
    上周我们讲到,在进行NNLM训练时,能够得到副产品,词向量。本文介绍一种专门用于词向量制备的方法:word2vec,利用它能够高效的训练出词向量。作者&编辑|小Dream哥1word2vec是什......
  • 多层语法糖、有参装饰器、及递归函数
    多层语法糖、有参装饰器、及递归函数目录多层语法糖、有参装饰器、及递归函数一、多层语法糖二、有参装饰器三、装饰器模板四、装饰器修复技术五、递归函数六、昨日作业详......
  • python中的运算函数
    1、abs(x)x的绝对值2、complex(re,im)返回一个复数,re是实部,im是虚部3、c.conjugate()返回c的共轭复数4、pow(x,y)计算x的y次方; pow(x,y,z)先计算x的y次方,然后结果在对z取余5、x......
  • 函数高级带上期总结补充
    目录函数高级带上期总结补充今日概要今日内容详细global与nonlocal函数名的多种用法闭包函数装饰器简介装饰器推导流程装饰器模板装饰器语法糖函数高级总结补充今日内容详......
  • 多层语法糖,有参装饰器,递归函数
    多层语法糖deffunc1(a1):#1定义了函数func1#14func1(foo2) print('加载了func1')#15加载了func1 deffoo1(*args,**kwargs): print('执行了foo1')......
  • 装饰器补充和递归函数
    装饰器补充和递归函数多层语法糖问题我们在写代码时可能会遇到同一个函数用多个语法糖来装饰,那么他们之间的关系是什么,怎么执行的就需要看一下下面这段代码了defoutter......
  • python基础之多层语法糖、函数递归
    python基础之多层语法糖、函数递归目录一、多层语法糖二、装饰器模版三、装饰器修复技术四、函数的递归调用1.函数的递归调用2.递归函数的定义3.递归函数的特点4.递归函数......