- 函数中存在默认参数,调用函数时,可以不传参数:
def db_connect(ip,port=3306):
print(ip,port)
db_connect('118.24.3.40',3307)
db_connect('118.24.4.40')
结果显示
118.24.3.40 3307
118.24.4.40 3306
现在写一个简单的判断小数的函数
def check_float(s):
s=str(s)
if s.count('.')==1:
s_split=s.split('.')
left,right=s_split
if left.isdigit() and right.isdigit():
return True
elif left.startswith('-') and left[1:].isdigit() \
and right.isdigit():
return True
return False
print(check_float(1.2))
print(check_float(-1.2))
print(check_float('12.3'))
print(check_float('-12.1'))
print(check_float('023'))
print(check_float('-023'))
2.位置参数
def db_connect(ip,user,password,db,port):
print(ip)
print(user)
print(password)
print(db)
print(port)
db_connect(user='nini',db='87667',ip='123.23.233.23',password='123456',port='22')
db_connect('12.23.22.22','didi',password='2323323',db='334',port='6732')
第一种里面的参数的位置可变化。
第二种的顺序必须按照位置来
3.可变参数
函数中参数组:
可变参数,不必传,传入的元素全部放到元组里面,不限制参数个数,使用参数比较多情况,传入元素存在元组里面
def sen_sms(*phone_num):
print(phone_num)
sen_sms()
sen_sms(123)
sen_sms(123,223,44,33,)
def sen_mes(*args):
for p in args:
print(p)
sen_mes(12,23,23,24)
4.关键字参数
def send_sms2(**phone_num):
print(phone_num)
send_sms2(name='xiix',sex='nan')
send_sms2(addr='北京',courtry='中国',c='abc',f='kkk')