##绝对值
abs(-21)
#最大值
max(2,4,5,6,7)
#数据类型转换
int('123')
float('12.23')
str(1.23)
bool(1)
hex(123)
print(hex(123))
#结果是false#自定义函数defmyabs(x):if x >= 0:
return x
else:
return -x
print(myabs(-21))
#可以用pass占位,让代码先运行起来#if age >= 18:# pass
python函数参数
#返回多个值import numpy as np
import math
#both support cos/sin calculationdefmove(x,y,step,angle=0):#angle=0,是默认参数,当没有设置angle的值得时候,默认为2.
nx = x + math.cos(angle)
ny = y + np.sin(angle)
return nx,ny
#返回多个值,实际上是一个tuple
r = move(100,100,60,math.pi/6)
print (r)
#practice:defquadratic(a,b,c):
x=-b+math.sqrt(b**-4*a*c)
y=-b+math.sqrt(b**-4*a*c)
return(x,y)
answer=quadratic(1,2,1)
print(answer)
#默认参数:# 默认参数应该在位置参数后定义。# 默认参数所有的值应该为固定变量,否则多次迭代时会出错defadd_end(L=[]):
L.append('End')
return L
a=add_end()
print("first irration result when default value is '[]': "+str(a))
b=add_end()
print("second irration result when default value is '[]': "+str(b))
defadd_end(L=None):if L==None:
L=[]
else:
L.append('End')
c=add_end()
print("first irration result when default value 'None': "+str(c))
d=add_end()
print("second irration result when default value 'None': "+str(d))
#可变参数传入函数#1,把参数作为list或者tuple传入defcalsum(numbers):
sum=0for n in numbers:
sum=sum+n
return sum
a=calsum([1,2,3])#as list
print(a)
b=calsum((1,2,3))#as turple
print(b)
#2, 直接定义可变参数函数defcalsum1(*numbers):
sum=0for n in numbers:
sum=sum+n
return sum
a=calsum1(1,2,3)
print(a)
# 若已知已经有一个list或者turple
number=(1,2,3)
b=calsum1(*number)
print(b)
#可以有一种繁琐的写法= =
c=calsum1(number[0],number[1],number[2])
print(c)
#关键词参数 **+anyword#可以传入0个或任意个参数名的参数,作为输入参数的扩展,以dic的形式储存在anyword中#egdefperson(name, age, **kw):
print("name is:",name,"age is:",age,"other:",kw)
#可以只传入必要参数name和age,也可以传入其他参数,保存在kw中
personinfo=person('gakki',29,height=170,score=100)
print (personinfo)
#running result>name is: gakki age is: 29 other: {'height': 170, 'score': 100} #在已经存在dic数据时,也开始直接传入dic类型的变量
gakki={'height':170,'score':100}
personinfo=person('gakki',29,**gakki)
print(personinfo)
#命名关键字参数*,+关键字defperson(name,age,*,height,score):print ('name is:',name,'age is',age, height, score)
personinfo=person('gakki',29,height=170,score=100)
#height和score是关键字参数,如果输入的参数不是height和score,都被当做位置参数#person(gakki,29,month=6) 会报错#关键字参数和命名关键字参数可以重合使用defperson(name,age,*args,**kw):#*args接受一个tuple,kw接受一个dic.建议使用惯用写法pass