辅助函数:

        dir():查询指定的某个数据~可以操作的所有函数、变量

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', 
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', 
'__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__',
 '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', 
'__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 
'insert', 'pop', 'remove', 'reverse', 'sort']

         help():查询指定的变量、函数、类型的操作帮助手册

>>> help(list.insert)
Help on method_descriptor:
 
insert(self, index, object, /)
    Insert object before index.

函数操作:

声明和调用:

什么是函数?

        生活中:行为,包含了一系列操作过程的行为【通过调用行为~执行一个过程】

        代码中:封装了大量代码的代码块,代码块进行了命名【通过名称~调用执行一个函数】

声明函数

        def关键字:defined定义

def 函数名称(函数中代码执行需要的参数列表):
     函数中执行的代码块
     [return 返回值]
 
 
文档中:如果在操作语法说明中出现了方括号~表示这一部分内容是可选的

执行函数

        通过该函数名称调用执行函数中的代码

        函数名称()

def test():
    函数中的代码
 
 
test()  调用执行test函数,执行test函数中的代码
 
test2 = test   将函数test赋值给变量test2,并不会执行函数test
 
test2()   执行test2函数~ test2中存放的是test-> 执行test()函数

 

函数的参数:

参数的意义:函数中的代码执行需要的数据

def test(name):
    print("用户的名称是:", name)
 
test("tom")   #执行test函数~需要一个数据name

参数的区分

        形式参数:

def  test(name):
    print(name)

函数声明时,定义在函数后面括号中的参数

函数执行~在形式上需要这些数据,但这些数据不是具体的

 

        实际参数:

test("tom")

调用执行函数时,在函数括号中传递的真实数据

        具体的、存在的数据

函数参数的定义

1.位置参数

def test(a, b, c, d):
    print(.....)
 
操作过程中,调用执行时~实际参数按照形式参数的前后顺序[位置]依次赋值
 
test(1,2,3,4)

2.默认值参数

def test(a, b, c, d=100):
    print(.....)
 
操作过程中,函数声明中~某个形式参数可以直接赋值~该形式参数就是默认值参数;
默认值参数可以在调用时不传递数据~使用默认数据进行运算。
 
test(1,2,3)    d自动赋值默认100运算
test(1,2,3,4)   d赋值4进行运算
 
 
注意:默认值参数一般放在最后面

3.可变参数

def test(a, *args):     args: arguments 参数
    print(.....)
 
操作过程中,可以通过符号*,声明某个可以接受多个数据的可变参数~ 可变参数可以接受0~n个数据。
 
test(1,2,3)    
  a赋值1,args赋值(2,3)
test(1,2,3,4)  
  a赋值1, args赋值(2,3,4)
 
可变参数可以将接受到的多个参数~自动封装成元组进行操作。
自动封装过程~某些资料:自动封箱/自动装箱
 
注意:可变参数一般放在最后面

4.关键字参数

def test(a, **kwargs):   kwargs : keyword arguments 关键字参数
    print(.....)
 
操作过程中,可以通过符号**,声明某个可以接受多个key-value键值对数据,并且自动装箱成字典接受到函数中进行处理
 
test(1, name="jerry", age=12)    
  a赋值1,kwargs赋值{"name": "jerry", "age": 12}
 
 
注意:关键字参数一般放在最后面

5.万能参数

def  test(*args, **kwargs):
    pass
 
*args可以接受任意多个的单个数据
**kwargs可以接受任意多个的key-value键值对数据
按照函数调用规范,单个数据放在前面,key-value数据放在后面。
所以上面的参数列表:万能参数,可以接受任意数据当成函数的参数进行处理。

6.强制关键字参数

def test(*, name, age):
    pass
 
 
声明在符号*后面的所有参数,都是强制关键字参数~
 
理由?为什么要用它?
 
特点:一旦声明~函数中定义了的参数名称,必须在调用的时候使用它们作为key值
test(name="tom", age=100)  right
test(x="jerry", y=10)  error
 
理由:极大限度的提升代码的可读性

pass关键字:

         分为占位符和待开发的缩进代码

待开发的缩进代码

def test():
    # TODO 注释【功能描述、时间、作者】
    pass
 
通过pass占位符,让声明但是还没有实现的函数~不报错。
不影响整体项目的进度。
 
TODO注释~一种特殊的注释,表示待开发功能
  常规的IDE工具基本都集成了TODO注释的操作。

函数的返回值:

单个返回值

多个返回值:特殊

函数递归

 

 

思维导图如下:

python基础语法~函数操作

相关文章:

  • 2021-11-22
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2021-09-15
  • 2021-10-06
  • 2021-06-23
猜你喜欢
  • 2022-02-07
  • 2021-11-23
  • 2021-05-18
  • 2022-12-23
  • 2021-08-03
  • 2022-01-21
  • 2022-01-02
相关资源
相似解决方案