【Python】学习笔记4-内置函数、函数即变量

1、内置函数

 1 print(all([1,2,3,0])) #判断可迭代对象里面是否都为真:非零即真非空即真原则
 2 print(any([1,2,3,0])) #判断可迭代对象里面是否有一个为真:非零即真非空即真原则
 3 print(bin(100)) #十进制转二进制
 4 print(chr(65)) #打印数字对应的ascii
 5 print(ord('A')) #打印ascii对应的数字
 6 print(dir('A')) #打印所传对象可调用的所有方法
 7 print(eval("{'a':2,'b':3}")) #执行python代码,只是简单执行,定义数据类型和运算 (单词有评估的意思)#可以将字符串转换为字典、数组、元祖#https://www.cnblogs.com/liu-shuai/p/6098246.html
 8 print(exec('')) #?执行python代码,只是简单执行,定义数据类型和运算
 9 a = 1
10 exec('a = a+1')
11 print(a)  # 输出:2
12 # zip()同时循环两个list,或者多个list,当list个数不匹配的时候,以少的数量为准
13 ids = [1,2,3]
14 names = ['xiaohei','xiaobai','xiaohuang']
15 for i,n in zip(ids,names):
16     print(i,n)
17 
18 # sorted升序排列
19 ids = [1,2,3,-3]
20 print(sorted(ids)) #升序排列
21 print(sorted(ids,reverse=True)) #降序排列
22 print(round(4.3333,2)) #保留几位小数,如果四舍五入后,最后一位是0的话,不显示

2、map和filter 循环调用函数

 map 循环调用函数,将每次函数处理的结果放到map里面,返回map对象,可以强制转换成list查看,简化代码

def func(a):
    if a%2 == 0:
        return a
    else:
        return False
num = [x for x in range(11)]
res = map(func,num)
print(res)  #<map object at 0x0000000000C5AA90>
print(list(res)) #[0, False, 2, False, 4, False, 6, False, 8, False, 10]

 

filter 循环调用函数,只返回结果为真的,可以强制转换成list查看,简化代码
1 def func(a):
2     if a%2 == 0:
3         return a
4     else:
5         return False
6 num = [x for x in range(11)]
7 res = filter(func,num)
8 print(list(res)) #[2, 4, 6, 8, 10]

 3、函数即变量

   函数名可以替换

1 def say(name):
2     print(name)
3 cm = say
4 cm('ccccmmmm') #ccccmmmm

利用字典,调取函数:择不同分支,调取不同函数,函数参数个数一致时(0个或者1个。。),可以用下面的例子
#需求:根据输入的数字,选择调用不同的函数
 1 def add():
 2     print("添加商品")
 3 def view():
 4     print("查看商品")
 5 def delete():
 6     print("删除商品")
 7 
 8 choice  = input('请输入选择 1、2、3、').strip()
 9 
10 menu = {
11     '1':add,
12     '2':view,
13     '3':delete
14 }
15 if choice in menu:
16     menu[choice]()  #适合用于函数没有参数,或者参数是一样的情况下。
17 else:
18     print('输入错误')
原文地址:https://www.cnblogs.com/amengmeng/p/8311629.html