1.函数不固定参数
def syz(a,*args): #参数组(元组) 非必填 参数个数无限制 args只是个名字 随便改
print(a)
username = args[0]
pwd = args[1]
age = args[2]
# syz('niuhanyang','2423',2323)
# syz('1s','sdf')
def syz2(time,**kwargs): #关键字参数 (空字典 )但是不能单传一个值 k-v形式 xxx=‘vvv’ 必填参数不再字典里
print(kwargs)
syz2('sdf')
syz2(name='nhy',age=38,time='20180912')
syz2('2018',name='nhy',age=38,addr='回龙观',home='河南')
syz2(time='xx',xx='xxx')
#1、是非必填的参数
#2、它没有限制参数个数
#3、它是把传过来的参数放到字典里
2. 递归:
函数自己调用自己。
def test1():
num = int(input('please enter a number:'))
if num%2==0:#判断输入的数字是不是偶数
return True #如果是偶数的话,程序就退出了,返回true
print('不是偶数请重新输入!')
return test1()#如果不是偶数的话继续调用自己,输入值
# print(test1())#调用test
#少用递归,递归最多递归999,递归的效率不高。
i = 0
def test():
global i
i+=1
print(i)
test()
test()
3.内置函数
#函数、
内置函数
python自带的一些函数,直接拿过来能用的
id() #看内存地址
type() #看数据类型
print() #打印
input() #输入
list() #转list
set()# 转集合
str()#转字符串
dict()#转字典
int()#转int
float()#转float类型
len()#取长度
max()
min()
dir() #帮助你的
sorted()#排序
round(11.00011,2)#保留几位小数
map() #下周
filter() #下周
zip() #下周
# print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真
# print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真
# print(bin(10))#十进制转二进制 会有ob表示是二进制
# print(bool(None))#把一个对象转换成布尔类型
# print(chr(69))#打印数字对应的ascii
# print(ord('E'))#打印字符串对应的ascii码
# s='nhy'
d={}
# print(dir(d))#打印传入对象的可调用方法 。方法不会出现 可以查看可用方法
# exec('def a():print("我是a")')#执行python代码 在线编程打的原理
# a = eval('1+2') #也是用来执行python代码的,只能执行一些简单的代码,比如运算,[] {}
# print(a)
# print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
# print(map(lambda x:x>5,[1,2,3,4,5,6]))
# print(max(111,12))#取最大值
# print(min((1,2,3)))#取最小值
# print(abs(-1))#取绝对值的
print(round(11.119999,3))#取几位小数
print(sorted([2,31,34,6,1,23,4]))#排序