开源软件基础(11-26)

#类
class rectangular:
    def __init__(self,l,w):
        self.length = l
        self.width = w
    def getArea(self):
        return self.length*self.width

class square(rectangular):
    pass

r = rectangular(6,3)

z = square(4,4)
print(r.getArea())
print(z.getArea())

print(isinstance(z,square))#True
print(isinstance(z,rectangular))#True
print(isinstance(r,rectangular))#True
print(isinstance(r,square))#False
#lambda
inc = lambda x:x + 1
b = inc(5)
print(b)
print(type(inc))
#inc 是个function哦!

#filter可以过滤掉不合要求的元素
#调用: filter(function,sequence),function可以是匿名函数或者自定义函数,它会对后面的sequence序列的每个元素判定是否符合函数条件,
#返回TRUE或者FALSE,从而只留下TRUE的元素;sequence可以是列表、元组或者字符串

#过滤掉a中的奇数
a = list(range(10))
print(a)
#方法1,自己写一个函数,注意最后过滤留下的是返回true的数
def cmp(x):
    if(x%2==0):
        return True;
    else:
        return False;
b = list(filter(cmp,a))
print(b)
#方法2,跟方法1一样的。。。只不过把函数写在里面了
c = list(filter(lambda x:x%2==0,a))
print(c)


#reduce 对一个序列进行压缩运算,得到一个值,使用的时候要先import
# reduce(function,iterable),其中function必须传入两个参数,iterable可以是列表或者元组
from functools import reduce
y = [2,3,4,5,6]
a = reduce(lambda m,n:m+n,y) # 直接返回一个值
print(type(a)) #a是int型
print(a)
#a = 20


#map 求一个序列或者多个序列进行函数映射之后的值,就该想到map这个函数
#调用 map(function,iterable1,iterable2),function中的参数值不一定是一个x,也可以是x和y,甚至多个;
#后面的iterable表示需要参与function运算中的参数值,有几个参数值就传入几个iterable
x = [1,2,3,4,5]
y = [2,3,4,5,6]
a = list(map(lambda m,n:m+n,x,y))
print(a)
#a = [3, 5, 7, 9, 11]
b = list(map(lambda m,n:(m,n),x,y))
print(b)
#b = [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值