赞
踩
python不仅能灵活定义函数,也可以直接调用内置函数。
需要知道函数名称和参数
也可通过交互式命令查看帮助信息
例如:http://docs.python.org/3/library/functions.html#abs 可通过官方文档查看abd函数的帮助信息
# abs函数
help(abs)
Help on built-in function abs in module builtins:
abs(x, /)
Return the absolute value of the argument.
abs(10)
10
# 若传入参数数量错误,会报typeerror的错误,且会明确告知参数数量
abs(10,5)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-8c01ff43585d> in <module>
1 # 若传入参数数量错误,会报typeerror的错误,且会明确告知参数数量
----> 2 abs(10,5)
TypeError: abs() takes exactly one argument (2 given)
# 传入参数类型不被函数所接受,也会报typeerror的错误,且给出错误信息
abs('a')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-3a9663d9ff8b> in <module>
1 # 传入参数类型不被函数所接受,也会报typeerror的错误,且给出错误信息
----> 2 abs('a')
TypeError: bad operand type for abs(): 'str'
# max、min可以接收任意多个参数
min(1,3,5,-6)
-6
例如:int()函数可将其他数据类型转换为整数
int('12')
12
int(0.7)
0
str(0.5)
'0.5'
bool('a')
True
bool('')
False
a = abs
# 变量a指向abs函数
a(-666)
666
n1 = 255
n2 = 1000
print(hex(n1),hex(n2))
0xff 0x3e8
def my_function(x):
if x>=5:
return x
else:
return x+5
print(my_function(-97))
-92
def my_function(x):
if x>=5:
return
else:
return
print(my_function(5))
None
def nop():
pass
if abs(9) >= 18:
pass
# 若缺少pass则代码运行就会有语法错误
# 修改定义使得对参数类型做检查,例如只允许整数和服点数类型的参数。
# 数据类型检查可以同内置函数isinstance()实现
def my_function(x):
if not isinstance(x,(int,float)):
raise TypeError('错错错')
if x>=5:
return x
else:
return x+5
print(my_function('z'))
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-35-55c635704db6> in <module> 8 else: 9 return x+5 ---> 10 print(my_function('z')) <ipython-input-35-55c635704db6> in my_function(x) 3 def my_function(x): 4 if not isinstance(x,(int,float)): ----> 5 raise TypeError('错错错') 6 if x>=5: 7 return x TypeError: 错错错
import math
def move(x,y,step,angle=0):
nx = x + step * math.cos(angle)
ny = y + step * math.sin(angle)
return nx,ny
print(move(0,0,16))
(16.0, 0.0)
x, y = move(0,0,16,math.pi/6)
print(x, y)
13.85640646055102 7.999999999999999
</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。