zoukankan      html  css  js  c++  java
  • 函数知识点 --- 函数的认知,组成,格式 --------------- #10

    函数知识点:1.什么是函数? 2.函数具体的代码格式 书写

    1.函数的认知:即什么是函数?

              函数由五大部分组成的:   1.def  关键字   2.函数名    3.参数    4.函数体   5.return 函数的返回值

             1. .def  关键字

                  定义函数的关键字

             2.函数名:命名规范和变量名命名规范一致(可以看做变量)

                  1.不能与关键字冲突

                  2.尽量做到见民知意

             3.参数 :1.分类2.形参实参关系3.函数的参数详情 4.位置参数和关键字参数格式 

                   1.分为两类:

                         1.形参:在函数定义阶段括号内写的变量名,称之为形参

                         2.实参:在函数调用阶段括号内传入的具体的值,称之为实参

                     2.形参与实参之间的关系?

                         1.形参就是变量名

                          2.实参就是变量名指向的值

                          3.只有在调用函数的时候两者才有关系,一旦函数运行结束,两者关系自动解除

                    函数的参数详情:1.位置参数 2.默认值参数 3.可变长参数     

                           1.位置参数:1)定义函数时按照位置书写变量, 2)位置形参在调用时必须为其传值

                            2.默认值参数:1)定义阶段亦然给形参赋值 2)注意:如默认值参数是可变类型时,需要细心

    可变类型补充:

    • 可以修改对象的的值,修改后对象的内存地址不变                                                                                                                     
    • 可变类型包括:列表、字典
     1 >>> s = [1, 2, 3, 4, 5]
     2 >>> id(s)
     3 2115225773704
     4 >>> s[2] = "a"
     5 >>> s
     6 [1, 2, 'a', 4, 5]
     7 >>> id(s)
     8 2115225773704
     9 
    10 >>> d = {"name": "bone", "age": 26}
    11 >>> id(d)
    12 2115223112656
    13 >>> d["age"] = 25
    14 >>> d
    15 {'name': 'bone', 'age': 25}
    16 >>> id(d)
    17 2115223112656
    18 
    19 >>> a = {1, 2, 3}
    20 >>> id(a)
    21 2115225769128
    22 >>> a.add(4)
    23 >>> id(a)
    24 2115225769128
    25 >>> a
    26 {1, 2, 3, 4}
    27 --------------------- 
    28 作者:Bone丶 
    29 来源:CSDN 
    30 原文:https://blog.csdn.net/c_first/article/details/89515804 
    31 版权声明:本文为博主原创文章,转载请附上博文链接!
    可变类型补充实例

                            3.可变长参数  (动态参数)

                             *

                             **   

                              # 在形参中

                              

                             *  可以接收多余的位置参数,将他们组织成一个元组 交给  * 后面的变量名

                             **   可以接收多余的关键字参数,将他们组织成一个字典 交给  ** 后面的变量名

                              # 在实参中 

                             * 打散: 可以把列表,元组,集合,字符串这些支持for循环的容器类型打散成位置参数

                             **   打散: 可以把字典类型打散  key = value 的形式,按照关键字参数传给函数

                      4.位置参数和关键字参数格式 

                              函数可以接收调用者传入的任意个数的参数:

                                       def func(*args,**kwargs):

                                                   print(args)

                                                   print(kwargs)

              4.函数体   逻辑代码:用来实现功能,判定函数到底可以用来做什么.

               5.return 函数的返回值 :return是她的关键字    ---------------定义

                              1.返回给函数调用者函数体执行结束后,得到的结果   :   返回结果

                              2.只要函数体执行到return,函数立即结束   :  强制停止

                         函数返回值的三种情况:1.不写return 2.写return返回一个值 3.写return返回多个值    ----应用

                                    1.不写return

                                          注:Python所有函数都有返回值,不写return的情况下,默认返回NOne

                                    2.写return返回一个值:三种情况:

                                                                          1.return

                                                                                       主动结束函数的运行

                                                                          2.return None

                                                                                        主动结束函数的运行

                                                                           3. return 值

                                                                                         返回给调用者函数体执行结果,这个值可以是Python任意类型

                                    3.写return返回多个值:return只能返回一个值,所以这是个容器,(),tuple

                                                    1.return 值1,值2,值3...

                                                             未设置,return会自动将多个数值组成一个元组,返回给调用者

                                                           代码示例:

    如下:

     1 # 函数
     2 def func(a,b,c):
     3     '''
     4     返回值测验:结束参数
     5     :param a:
     6     :param b:
     7     :param c:
     8     :return:
     9     '''
    10     return a,b,c
    11 res = func(11,12,132)
    12 print(res)
    13 
    14 # 值 (11, 12, 132)
    15 def func(*args):
    16     '''
    17     注释
    18     :param args:
    19     :return:
    20     '''
    21     return args
    22 # 传实参
    23 li = func(1,2,1,322,4,1,5,411,2,54,4,6,6,4,45,5,4,5,6,4,4,6,4,4,5,4,4,8,5,44,5,9,4)
    24 # 打印
    25 print(li)
    26 # 值 (1, 2, 1, 322, 4, 1, 5, 411, 2, 54, 4, 6, 6, 4, 45, 5, 4, 5, 6, 4, 4, 6, 4, 4, 5, 4, 4, 8, 5, 44, 5, 9, 4)
    return返回值,未设置默认为元祖()

                                                   2.return [值1,值2,值3...]

                                                            也可以设置自定义数据类型

                                                           代码示例

    如下

     1 # 列表
     2 def func(a,b,c):
     3     return [a,b,c]
     4 res = func(11,12,132)
     5 print(res)
     6 #  值 列表  [11, 12, 132]
     7 
     8 # 字典
     9 def func(a,b,c):
    10     return {'1':a,'2':b,'3':c}
    11 res = func(11,12,132)
    12 print(res)
    13 
    14 #  值 字典  {'1': 11, '2': 12, '3': 132}
    return自定义

     数据类型知识点应用于函数补充:

     1 def func():
     2     return 'a', 'b', 'c'
     3 
     4 
     5 x, y, z = func()
     6 print(x,y,z)   # a b c
     7 
     8 x, _, _ = func()
     9 print(x,_,_)   # a c c # _代表不接受,省略不写,不会报错
    10 x, *_ = func()
    11 print(*_)   # b c
    12 print(x,*_)   #a b c
    函数知识点补充

                                                         

                 ps:# 注: 函数的注释:推介使用,提高逻辑思维,提高代码清晰度

                        1.用来描述函数具体实现的功能

                        2. 说明你写的函数形参表示的意义

                        3.还可以说明你这个函数返回值有什么特点

    2.函数的具体代码格式:1.格式 2.定义函数的三种方式

               1.格式

               def 函数名(参数1,参数2,参数3...):

                     """

                     函数的注释:

                          1.参数的解释

                           2.返回值的解释

                     """

                      函数体代码1

                      函数体代码2

                      函数体代码3

                      return  函数的返回值

                2.定义函数的三种方式  :1.空函数2.无参函数 3.有参函数

                             1.空函数:1)快速构建项目框架,2)使项目架构清晰明了,3).应用频率非常高

                                               def func():

                                                      pass

                             2.无参函数

                                              def func():

                                                      print('func run')

                             3.有参函数

                                               def func(x,y,*args,**kwargs)

                                                     pass

                   

     今日内容

    函数对象

    函数的嵌套调用

    名称空间

    作用域

       

  • 相关阅读:
    洛谷 P1555 尴尬的数字
    洛谷 P1318 积水面积
    9.8解题报告
    洛谷 P1464 Function
    洛谷 P1122 最大子树和
    cogs 66. [HAOI2004模拟] 数列问题
    49. 跳马问题
    洛谷 P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver
    codevs 3164 质因数分解
    codeforces 482C Game with Strings
  • 原文地址:https://www.cnblogs.com/llx--20190411/p/11164684.html
Copyright © 2011-2022 走看看