doraemon的python 函数高级应用
5.6函数小高级
5.6.1函数名可以当做变量来用
def func():
print(123)
v1 = func
v1()
def func():
print(123)
def bar():
print(456)
info = {'k1':func,'k2':bar}
info['k1']()
info['k2']()
def func():
return 123
list = [func(),func()]
#列表中func()是这个函数运行后的返回值
5.6.2函数可以当做参数来进行传递
def func(arg):
print(arg)
def bar():
return 123
func(bar)
5.7 lambda表达式
#三元运算,为了解决简单的if else问题
v = a if 1>3 else b
#lambda是为了解决简单的函数情况
def func(a1,a2)
return a1 + 111
func =lambda a1,a2 : a1 = 100
#练习题1
USER_LIST = []
def func0(x):
v = USER_LIST.append(x)
return v
result = func0('alex')
print(result)
#练习题2
def func0(x):
v = x.strip()
return v
result = func0(' alex ')
print(result)
#总结:关于返回值是不是None,就得看函数有没有反回具体的值
#1.比如练习1中append命令指示添加到列表中,没有反回具体的值
#2.练习2中strip是去除空白返回了结果,所以有具体的值
5.8 内置函数
其他类:
-
len
-
open
-
range
-
id
-
type
输入输出类:
-
print
-
input
强制转换:
-
int
-
str
-
bool
-
list
-
tuple
-
dict
-
set
数学相关:
-
abs 绝对值
-
float 转成浮点型(小数)
-
max
-
min
-
sum 求和
-
divmod 两数相除的商和余数
a,b = divmod(1005,7)
print(a,b)
#练习题:请通过分页对数据进行展示
"""
要求:
每页显示10条数据
让用户属兔想要查看的页面
"""
USER_LIST = []
for in in range(1,836)
temp = {
'name':"你的数字名字是%s"%(i,)
'email':'%s@qq.com'%s(i,)
}
USER_LIST.append(temp)
count = len(USER_LIST)
per_page = 10
max_num,b = divmod(count,per_page)
if b > 0:
max_num += 1
while True:
page = input('请输入要跳转的页码:')
if page < 1 or page > mix_num:
print('您输入的页码错误,必须在1-%s'%(max_mun,))
else:
"""
# 第1页:USER_LIST[0:10] -> 0123456789
# 第2页:USER_LIST[10:20]
# 第3页:USER_LIST[20:30]
...
"""
start = (page - 1)*per_page
end = page * per_page
data = USER_LIST[start:end]
for v in data:
print(v)
5.9 进制转换
-
bin,将10进制转换为二进制
num = 13
v1 = bin(num)
print(v1) -
oct,将十进制转换成八进制,同bin
-
int,将其他进制转换为十进制
v1 = '0b1101'
result = int(v1,base=2)
print(result)
# 八进制转化成十进制
v1 = '0o1101'
result = int(v1,base=8)
print(result)
# 十六进制转化成十进制
v1 = '0x1101'
result = int(v1,base=16)
print(result) -