当前位置: 代码迷 >> 综合 >> 函数自己总结小笔记
  详细解决方案

函数自己总结小笔记

热度:5   发布时间:2024-01-24 10:44:13.0
 ###函数作用和定义
就是把曾经写过的功能独立的代码,打包封装,然后直接调用。

def 函数名():

函数封装的代码
......

函数名一定要符合标识符命名规则。尽量使用小驼峰命名法(首个单词首字母小写,其他首字母大写)

函数名和变量名千万不能用一样的名字。否则会冲突。

注意:定义好函数之后,只表示这个函数封装了一段代码而已,不能主动执行。需要进行调用才可以执行。

### 调用
在python中调用函数只需要:函数名()就可以进行调用。

在其他项目或者文件夹中调用之前定义过的函数,需要用import来调用。

## 函数注释
函数的注释不要写在函数的上方,要写在函数的下面。
根据PEP8书写规范,函数与上方的任何代码应保持两个空行。

def xxx():
"""xxx"""

pass

""""""加上个回车直接就弹出详细的注释名称,然后进行注释就行。

###拓展
用import time来导入工具包
time.sleep()可以使后续的函数或者程序休眠。

## 函数的参数
### 形参和实参
def xxx():括号里面的参数叫做形参。

调用的xxx()这个括号里面的参数就叫做实参。

## 函数的返回值 return
1、在一个函数里return下面的代码不会执行,所以不要写。
2、哪里调用的就把这个值返回到哪里。
3、返回的是值不是变量。在外部无法使用到,除非再用变量定义这个值。

有返回值的函数,比如input一定要用一个变量来接它,否则函数无法输出结果。没有返回值的函数,比如print不能用变量来接。

def sum_2_num(num1, num2):

result = num1 + num2

return result


sum_result = sum_2_num(10, 20)
print("输出结果为:%d" % sum_result)

## 函数的嵌套调用
在一个函数内部调用另一个已经定义好的函数。

def test1():

print("")

def test2():

test1()


test2()

## 位置参数
位置参数顺序很重要,名字对应的就是名字、种类对应的就是种类,否则结果会很搞笑。

### 拓展
如果需要多次调用函数,只需要再次调用就可以

比如:

def a(x1, x2):
print(a)


a(a1, a2)
a(a3, a4)

## 关键字实参
关键字实参不会使位置混淆,造成笑话。

比如:

def a(x1, x2):
print(a)


a(x1 = a1, x2 = a2)

## 默认值
在函数中,我们直接给形参定一个默认值,这样除非实参在定义一个值,否则我们将直接使用给形参定义的这个默认值。这样我们就不用在重新给实参提供值了。

def a(x1=a1, x2=a1):
.
.
.

## 让实参变成可选的
为了让一个函数中的实参变成可选的,可在没有提供实参的情况下,使函数仍然能运行,我们需要给这个实参对应的形参定义一个空字符串'',并把它放在最末尾。

比如:

def a(num1, num2=''):
if num2:
print(num1, num2)
else:
print(num1)
return a


a(1, 2)

这样即使只输入一个实参,也能正确的运行。如果第二个实参也提供了,我们只需要在“a(1,2)”输入即可。

## 函数返回字典,列表
函数不仅能返回值,还能返回字典或者列表等较复杂的数据结构。

## 传递列表
将列表传递给函数,函数就直接能访问其内容。

def greet_users(names):
for name in names:
mag = 'hello'+name.title()+'!'
print(mag)


usernames = ['hannah', 'ty', 'margot']
greet_users(usernames)

### 函数修改列表
把列表传递给函数,函数就可以对这个函数进行修改,这个修改是永久性的,使你高效率的处理大量数据。

在我们写代码的时候,如果发现一个函数执行的任务过多,我们可以给它頭几个函数,保证每个函数只负责一项任务。然后使用函数的嵌套,在一个函数中调用另一个函数,这样更好。

## 传递任意数量的实参

def a(*nums):
print(nums)


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

这里面的*代表创建了名为num一个空元组,可以在里面放任意数量的实参。


**代表创建了一个名为num的空字典。

def a(**nums):
print(nums)


a(q='w')
 
  相关解决方案