码迷,mamicode.com
首页 > 其他好文 > 详细

七、函数上

时间:2019-10-09 12:32:34      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:根据   函数   uil   UNC   return   res   end   key   func   

函数

1.函数简介(function)

  • 函数也是一个对象

  • 对象是内存中专门用来存储数据类型的一块区域

  • 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次的是调用

  • 创建函数:

    • def 函数名([形参1,形参2,。。形参n]):
      代码块
    • 函数名必须要有符号标识符的规范

      • (可以包含字母、数字、下划线。但是不能以数字开头)

  • 函数中保存的代码不会立即执行。

  • 调用函数:

    • 函数对象()

  • 定义函数一般都是要实现某种功能的

2.函数的参数

  • 在定义函数时,可以在函数名后边的()中定义数量不等的形参,多个形参之间使用,隔开.

    • #定义函数指定形参
      def fn2(a,b):
      print(a,‘+‘,b,‘=‘,a+b)
      ?
      #调用函数时,来传递实参
      fn2(10,20)
      fn2(123,456)
      #形式参数 a b 实际参数10 20
    

- 形参(形式参数),定义参数就相当于在函数内部声明了变量,但是并不赋值
?
- 实参(实际参数)
?
- 如果函数定义时,指定了参数,那么在调用函数时也必须传递实参,实参将会赋值给对应的形参,简单来说,有几个形参就有几个实参
?
- 练习1:
?
- 定义一个函数用那来求任意三个数的乘积。
?
- ```python
def fn1(a,b,c):
print(a*b*c)

fn1()
- 根据不同的用户名显示不同的欢迎信息
?
- ```python
def fn2(username):
print(‘欢迎‘,username,‘光临‘)

fn2()
```
  • 注意:在定义一个函数时,可以为形参指定默认值,指定了默认值以后,如果用户传递了参数,则默认值没有作用,如果用户没有传递,则默认值就会生效

    位置参数

    • 位置参数就是将对应位置的实参赋值给对应位置的参数

    • 第一个实参赋值给第一个形参,第二个人实参赋值给第二个形参。。

    • fn(1,2,3)
    •  

    关键字参数

    • 关键字参数可以不按照形参定义的顺序去传递,而直接根据参数名去传递参数

    • fn(b=1 , c=2 , a=3)
    • 位置参数和关键字参数可以混合使用

    • 混合使用的位置参数和关键字传参是,必须将位置参数写到关键字参数的前面

3.不定长的参数

  • 在定义函数时,可以在形参前边加上一个*,这样这个形参将会获取到所有的实参。

  • 他将会将所有的实参保存到一个元组中

    #*a会接受所有的位置参数,并且会将这些实参统一保存到一个元组中(装包)
    def fn(*a):
    print(‘a = ‘,a,)
    fn(任意数)
  • 注意:

    1. 带星号的形参只能用一个,

      1. 带星号的参数可以和其他的参数配合使用

      2. 可变参数不是必须写在最后,但是注意,带*的参数后面的所有参数,必须以关键字参数的形式传递。

  • *形参只能接受位置参数,而不能接受关键字参数

    def fn1(*a)
    print(a)
    fn1(位置参数)
  • **形参可以接受其他的关键字参数,他会将这些参数统一的保存到一个字典中,字典的key就是参数的名字,字典的value就是参数的值

    def fn1(**a):
    print(a)
    fu1(关键字参数)
    #注意:**参数只能有一个,并且必须写在所有参数的最后

     

  • 练习1

    def sum(*nums):
    #定义一个变量,来保存结果
    result = 0
    #遍历元组,并将元组中的数进行累加
    for n in nums:
    result += n
    print(result)
    ?
    sum(任意数)

     

4.返回值

函数执行以后返回的结果

  1. 可以通过return来指定函数的返回值

  2. 可以之间使用函数的返回值,也可以通过一个变量来接受函数的返回值

  3. return 后面跟什么值,函数就会返回什么值

    def fn():
    return ‘Hello‘
    r = fn() #这个函数的执行结果就是他的返回值
    print(r)

注意: 仅写一个return或者不写return,则相当于return None

在函数中,return后的代码都不会执行,return 一旦执行函数自动结束。

def fn4():
for i in range(5):
if i == 3:
# break 用来退出当前循环
# contine 用来跳过当次循环
return #用来结束函数,以下的函数都不执行
print(i)
print(‘循环执行完毕!‘)
fn4()
# fn1 和 fn1()的区别:
def fn5():
return 10
print(fn1)
#fn5是函数对象,打印fn5实际是在打印函数对象
print(fn5())
#fn5()是在调用函数,打印fn5()实际上是在打印fn5()函数的返回值

5.文档字符串(doc str)

  1. 在定义函数时,可以在函数内部编写文档字符串,文档字符串就是函数的说明

  2. 当我们编写了文档字符串是,就可以通过help()函数来查看函数的说明

  3. 文档字符串非常的简单,其实直接在函数的第一行写一个函数字符串就是文档字符串

    def fn(a,b,c)
    ‘‘‘
    这是一个文档字符串的实例
    函数的作用:。。。。
    函数的参数:
    a,作用,类型,默认值。。。
    ?
    ‘‘‘
    return 10

七、函数上

标签:根据   函数   uil   UNC   return   res   end   key   func   

原文地址:https://www.cnblogs.com/wn-888/p/11640775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!