abs():求绝对值
round():四舍五入
map(func,list):将传入的函数变量func作用到list变量中的每个元素,并将结果组成新的迭代器(python3)返回
需求:计算 list1 序列中各个数字的2次⽅。 list1 = [1, 2, 3, 4, 5] def func(x): return x ** 2 result = map(func, list1) print(result) # <map object at 0x0000013769653198> print(list(result)) # [1, 4, 9, 16, 25]
reduce(func(x,y),list):其中func必须有两个参数。每次func计算的结果继续和序列的下⼀个元素做累积计算。
需求:计算 list1 序列中各个数字的累加和。 import functools list1 = [1, 2, 3, 4, 5] def func(a, b): return a + b result = functools.reduce(func, list1) print(result) # 15
filter(func, lst):函数⽤于过滤序列, 过滤掉不符合条件的元素, 返回⼀个 filter 对象,。如果要转换为列表,可以使⽤ list() 来转换
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def func(x): return x % 2 == 0 result = filter(func, list1) print(result) # <filter object at 0x0000017AF9DC3198> print(list(result)) # [2, 4, 6, 8, 10]
类是对⼀系列具有相同特征和⾏为的事物的统称,是⼀个抽象的概念,不是真实存在的事物。(特征即是属性,⾏为即是⽅法)
定义类:
类名要满⾜标识符命名规则,同时遵循⼤驼峰命名习惯。 class 类名(): 代码 ......
创建对象:
对象名 = 类名()
self指的是调⽤该函数的对象。
# 1. 定义类 class Washer(): def wash(self): print('我会洗⾐服') # <__main__.Washer object at 0x0000024BA2B34240> print(self) #注意:打印对象和self得到的结果是⼀致的,都是当前对象的内存中存储地址。 haier1 = Washer() # <__main__.Washer object at 0x0000018B7B224240> print(haier1) # haier1对象调⽤实例⽅法 haier1.wash()
对象属性既可以在类外⾯添加和获取,也能在类⾥⾯添加和获取。
类外⾯添加对象属性:
对象名.属性名 = 值
类外⾯获取对象属性:
对象名.属性名
类⾥⾯获取对象属性:self.属性名
# 定义类 class Washer(): def print_info(self): # 类⾥⾯获取实例属性 print(f'haier1洗⾐机的宽度是{self.width}') print(f'haier1洗⾐机的⾼度是{self.height}') # 创建对象 haier1 = Washer() # 添加实例属性 haier1.width = 500 haier1.height = 800 haier1.print_info()
在Python中, __ xx__() 的函数叫做魔法⽅法,指的是具有特殊功能的函数。
__ init__() ⽅法的作⽤:初始化对象
注意:
__init__() ⽅法,在创建⼀个对象时默认被调⽤,不需要⼿动调⽤ __init__(self) 中的self参数,不需要开发者传递,python解释器会⾃动把当前的对象引 ⽤传递过去。
class Washer(): # 定义初始化功能的函数 def __init__(self): # 添加实例属性 self.width = 500 self.height = 800 def print_info(self): # 类⾥⾯调⽤实例属性 print(f'洗⾐机的宽度是{self.width}, ⾼度是{self.height}') haier1 = Washer() haier1.print_info()
思考:⼀个类可以创建多个对象,如何对不同的对象设置不同的初始化属性呢?答:传参数。
带参数的__init__() :
class Washer(): def __init__(self, width, height): self.width = width self.height = height` def print_info(self): print(f'洗⾐机的宽度是{self.width}') print(f'洗⾐机的⾼度是{self.height}') haier1 = Washer(10, 20) haier1.print_info() haier2 = Washer(30, 40) haier2.print_info()
当使⽤print输出对象的时候,默认打印对象的内存地址。如果类定义了 str ⽅法,那么就会打印从在这个⽅法中 return 的数据。
class Washer(): def __init__(self, width, height): self.width = width self.height = height def __str__(self): return '这是海尔洗⾐机的说明书' haier1 = Washer(10, 20) # 这是海尔洗⾐机的说明书 print(haier1)