# 老写法
def add(a, b):
"""
:param a: int
:param b: int
:return: int
"""
return a + b
# 新写法
# -> 返回值的数据类型
def add1(a: int, b: int = 3) -> int:
return a + b
print(add(2.5,3))
print(add("孤勇者","Eason"))
print(add1(2.5))
# 鼠标悬停时,pycharm会提示正确的数据类型,但可以正常执行
异常捕获
def calc(a: int, b: int):
result = round(a / b,2)
print(result)
while True:
try:
first = int(input("输入第一个数:"))
second = int(input("输入第二个数:"))
calc(first,second)
except ValueError:
print("请输入数字")
except ZeroDivisionError:
print("除数不能为0")
# 捕获未知异常
except Exception as res:
print(res)
else:
print("计算完毕")
匿名函数
语法:
lambda 参数: 表达式
# 定义简单的函数
乘法 = lambda x, y: x * y
print(乘法(5,4))
# 覆盖原函数的功能
def 除法(a,b):
return a/b
除法 = lambda x,y:round((x/y),1)
print(除法(10,3))
可变参数
def func1(*args):
for i in args:
print(i)
if __name__ == '__main__':
func1("Canals","Somebody","Rather Be")
"""【正常输出】
Canals
Somebody
Rather Be
"""
特殊属性
name
""" __name__ 标识模块的名字,显示一个模块的某功能是被自己执行还是被别的文件调用执行 假设模块A、B,模块A定义了功能C,模块B调用模块A,现在功能C被执行了: 如果C被A自己执行,模块执行了自己定义的功能,那么 __name__=='__main__' 如果C被B调用执行,当前模块调用执行了别的模块的功能,那么__name__=='A'(被调用模块的名字) """file
""" __file__表示显示文件当前的位置 如果当前文件包含在sys.path里面,那么__file__返回一个相对路径! 如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径! """ import os print(os.path) print(__file__)



