python5: 函数入门
程序员文章站
2022-04-09 21:43:20
...
1 调用函数
abs(-2) # 取绝对值
max(2,3,4) #取最大值
print(abs(-5.4))
print(max(-2.3,2,5))
a=25
print(hex(a)) # hex()为16进制表达的字符串
2 定义函数 def. return 语句返回
def my_abs(x):
if x>=0:
return x
else:
return -x
print(my_abs(-3))
导入函数
已经把my_abs()的函数定义保存为abstest.py
from abstest import my_abs abstest是文件名 my_abs是函数名
pass 什么都不做
def nop():
pass
age=12
if age>=18:
pass
isinstance()函数 判断一个对象是否是一个已知的类型
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeError(“bad operand type”)
if x>=0:
return x
else:
return -x
print(my_abs(-52))
多返回值实际返回tuple
import math : 导入这个math模块,就可以用模块里面的一些做数学运算的函数了。
math.sqrt(x):就是使用math中的sqrt()函数的方法,是求x的算术平方根。
注释快捷键: 选中+ctrl+/,代码选中的条件下,同时按住ctrl+/,被选中行被注释,再次按下Ctrl+/ ,注释被取消
函数的参数 默认参数
def power(x,n=2):
s=1
while n>0:
n=n-1
s=s*x
return s
print(power(3)) #默认参数,n=2
print(power(3,3)) # n=3
def enroll(name, gender, age=6, city='Beijing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
print(enroll("zhangsan",7))
print(enroll("lisi",8,city="nanjing"))
定义可变参数 将参数作为list 或者tuple传入
def calc(numbers):
sum=0
for n in numbers:
sum=sum+n*n
return sum
print(calc([1,2,3]))
print(calc((1,2,3)))
改为可变参数
def calc(*numbers):
sum=0
for n in numbers:
sum=sum+n*n
return sum
print(calc(1,2,3))
nums=[1,2,3]
print(calc(*nums))
*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
关键字参数:
def person(name, age, **kw):
print(‘name:’, name, ‘age:’, age, ‘other:’, kw)
# *args是可变参数,args接收的是一个tuple;
# ** kw是关键字参数,kw接收的是一个dict。
递归函数 一个函数在内部调用自身本身,这个函数就是递归函数
def fact(n):
if n==1:
return 1
return n*fact(n-1)
print(fact(5))