博客整理day14 匿名函数/内置函数/异常处理/面对象

Python D14 匿名函数/内置函数/异常处理/面对象

匿名函数

​ 没有函数名的函数,一般与内置方法一起用

salary_dict = {
    'nick': 3000,
    'jason': 100000,
    'tank': 5000,
    'sean': 2000
}

# max()、  输出工资最高的名字

print(max(salary_dict, key=lambda name: salary_dict[name]))

# sorted()、  按工资高低排序

print(sorted(salary_dict,key= lambda name : salary_dict[name],reverse = True))

# filter()、  筛选工资大于3K的人

print(list(filter(lambda name : salary_dict[name]>3000,salary_dict)))

内置函数

# bytes 解码字符
res = bytes('哈喽',encoding='utf8')
print(res)

# chr/ord  ASCII和对应字符的转换
print(chr(65))
print(ord('A'))

# divmod  取商取余
print(divmod(9,3))

# enumerate  带索引的迭代
l=['a','b','c']
for k,v in enumerate(l):
    print( k,v)

# eval  把字符串翻译成数据类型
lis = '[1,3,5]'
lis_eval = eval(lis)
print(lis_eval)

# hash  是否可哈希
print(hash(1))


# 了解

# abs
print(abs(-1))
# all# 可迭代对象内的元素全部为True则为True
print(all([1, 2, 3, 3]))
# any
print(any([0, 0, ]))
# bin/oct/hex
print(bin(123))
print(oct(123))
print(hex(123))
# dir: 列出模块的所有方法
# import time
#
# print(dir(time))
# frozenset: 不可变化的集合,类似于元组
s = frozenset({1, 2, 3})
print(s)

# gloabals/locals
# print(globals())  # 列出所有全局变量
# print('locals():', locals())

def func():
    s = 's1'
    print(globals())  # 列出所有全局变量
    print('locals():', locals())  # 列出当前位置所有变量

func()

# pow
print(pow(2, 2))

# round
print(round(10.333))

# slice
s = slice(1, 5, 2)  # 1start,5stop,2step
lt = [1, 2, 3, 4, 5, 6, 7]
print(lt[s])
print(lt[1:5:2])

# # sum
print(sum([1, 2, 3, 4, 5]))
# __import__  # 通过字符串导入模块
# import 'time'

time = __import__('time')
print(time.time())

异常处理

dic = {'a': 1}

try:

    print(dic['b'])  # KeyError
    1 / int(num)  # 报错之后,不运行下面的代码

except Exception as e:  # 万能异常,只要有错误,就捕捉
    print(e)  # 错误的描述信息
finally:  # 无论你报不报错,都执行这一行
    print('finally')
    
# 异常捕捉只能捕捉逻辑错误

面向对象

​ 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么

​ 优点:逻辑非常清晰,复杂的问题流程化,进而简单化。

​ 缺点:扩展性差。

原文地址:https://www.cnblogs.com/samoo/p/11585728.html