函数基础知识

函数的作用:将常用功能封装起来,具有明确的功能,能够隐藏细节,减少代码复杂度,具有复用性,如下代码展示了一个函数:

a = 1.12356
print(round(a,2))
# round(number, ndigits=None)) // 四舍五入
# 控制台中输入 help(func) 可以快速查看内置函数信息
# 查看python 之禅 import this

函数的定义

语法:

def funcname(parameter_list):
    pass

parameter_list 可以没有;函数中使用return 返回值;如果没有return 则默认返回 None;函数执行到return后,即停止执行。

示例:

def add(x,y):
    result = x + y
    return result

 
def print(code):  
    print(code) 
#自定义函数不能和内置函数同名,自己调用自己 报错 Traceback

如何设置函数允许最大的递归层数

在文件头部声明:

import sys
sys.setrecursionlimit(10000)

形参和实参

def add(x,y):
    result = x + y
    return result
# x,y 形参

a = add(1,2)

# 1,2 实参

返回结果

同时返回多个结果

def damage(skill1,skill2):
     return skill1,skill2

同时接收多个参数

sk1_damages,sk2_damages = damage(3,6) # 序列解包方式 接收结果 
print(sk1_damages)

序列解包相关知识

a,b,c = 1,2,3
""" 
等同于
a = 1
b = 2
c = 3
"""
d = 1,2,3
# 等同于 
d = (1,2,3)
a,b,c = d
#另外一个例子
a=b=c=1
""" 
a = 1
b = 1
c = 1
"""

函数的参数

必须参数

函数参数列表中定义的参数必须传递,传递的参数参与到函数运算,必须参数在调用时必须考虑传入顺序。

def add(x,y)
    return x + y 
#在调用add函数时必须传入x,y,且按序
add(2,1)
# 关键字参数,调用时可忽略顺序
add(x=2,y=1)

默认参数

下面定义了一个不含默认参数的函数:

def print_student_info(name, gender, age, college):
    print('我叫' + name)
    print('我今年' + str(age) + '岁')
    print('我时' + gender + '生')
    print('我在' + college + '上学')
    print('-------------------------')

print_student_info('李小萌','女',17,'市三中')

下面定义了一个含有默认参数的函数
默认参数的定义:即给定了默认值的参数,定义和调用时默认参数需要放在参数列表最后

def print_student(name, gender='男', age=18, college='红星小学'):
    print('我叫' + name)
    print('我今年' + str(age) + '岁') 
    print('我时' + gender + '生')
    print('我在' + college + '上学')
    print('-------------------------')

print_student('李亮','女',12)

# 使用关键字传参
print_student('果果', age = 19)

调用时默认参数需要放在参数列表最后

print_student('丁丁',gender='女',17,college='大三鹿中学')
#  SyntaxError: positional argument follows keyword argument

标签: none

分享到: