函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内置函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

  1. 函数的定义:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串用于存放函数说明。函数内容以冒号起始,并且缩进。
    语法:
    def 函数名(参数):
    代码1
    代码2
    .....
  2. 函数的调用:定义一个函数只给了函数一个名称,指定了函数里包含的参数和代码块结构。
    函数必须调用才会进行执行。不同的需求,参数可有可⽆。在Python中,函数必须先定义后使⽤。
    语法:
    函数名()
  3. 函数的参数作用:
    1. 必备参数:必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用函数,你必须传入一个参数,不然会出现语法错误。
      # 定义函数时同时定义了接收⽤户数据的参数a和b
      def func(a, b):
          result = a + b
          print(result)
      # 调⽤函数时传⼊了真实的数据10 和 20
      func(10, 20)
    2. 默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。
      def func(name="张三",age=18):
          print(f"大家好,我是{name},今年{age}岁了")
          
      func()
      # 大家好,我是张三,今年18岁了
      
      func(name="李四",age=19)
      # 大家好,我是李四,今年19岁了
    3. 不定长参数:python自定义函数中有两种不定长参数,第一种是*XXX,通常写成*args,在传入额外的参数时可以不用指明参数名,直接传入参数值即可。第二种是**XXX,通常写成**kwargs,这种类型返回的是字典,传入时需要指定参数名。
      # 加了一个星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
      # 加了两个星号 ** 的参数会以字典的形式导入,存放已命名的变量参数。
      
      def func(*args):
          print(args)
      
      func(1,2,3,4,4,5)
      
      def func2(a, b, *args):
          print(a, b, *args)
      
      func2(1,2,3,4,4,5)
      # 这样会将1,2传给a,b,另外多余的全部传给*args
      
      
      def func3(num, *args, **kwargs):
          print(num)
          print(args)
          print(kwargs)
       
      func3(11, 22, 33, a=18, b=19, c=20)
    4. 位置传参和关键字传参位置传参和关键字传参与函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
      def func(name,age):
          print(f"我是{name},今年{age}岁")
          
      name = "张三"
      age = 18
      # 函数在调用的时候将定义好的name和age传递进去,参数位置也需要一致
      func(name=name,age=age)
  4. 函数的返回值作用:返回值,顾名思义就是将函数的结果返回;为什么要返回函数的结果呢?方便后续的使用。比如现在有一个函数A,运算了10个数的和;还有一个函数B,希望传递一个数字进来,然后将这个数字乘以100;那如果想将函数A运算的结果放到函数B中去使用,那么就必须给函数A添加一个返回值才可以。
    1. 返回值的特点可以是任意类型,一个函数只有一个return,函数遇到return之后就结束了,后面还有其他的代码也不会去执行。
      def func(a, b):
          result = a - b
          return result
      
      # 获取return返回的值并使用
      result1 = func(180, 100)
      
      print(result1 * 100)
  5. 内置函数:是已经写好的一些函数,他们美观且强大,我们可以打印dir(__builtins__),查看有哪些内置函数,比如我们常用的。
    1. min(a)        最小值
    2. max(a)       最大值
    3. sorted(a)    排序
    4. reversed(a)  反转序列
    5. list(reversed(a))   逆序
    6. sum(a)   求和
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐