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)

     

  • hex,将十进制转换成十六进制,同bin

原文地址:https://www.cnblogs.com/doraemon548542/p/11180908.html