python使用技巧1

来源:互联网 发布:淘宝店运营方案论文 编辑:程序博客网 时间:2024/06/05 06:59
#coding=utf-8#mapsums  = map(lambda x:x*x,[1,2,3,4,5,6,7])print sums#filter#返回偶数,result = filter(lambda x:x%2==0,range(1,20))print result#求前n个数的和sum = reduce(lambda x,y:x+y,range(1,101))print sum#求阶乘#Factorialfactorial = reduce(lambda x,y:x*y,range(1,101))print factorial#局部变量改变全局变量a = 1def foo():    global a    a = 2    print aprint afoo()print a# python自省机制type()# 查看对象的类型。type(1) #inttype([1,2,3,4,5]) #listisinstance(name,type)#检查输入类型isinstance([1,2,3,4,5],list) #Trueclass Solution:    a = 1    def __init__(self):        self.name = "Alis"s = Solution()print s.a#hasattr检查该实例中是否有该属性print hasattr(s,"a")#True#getattr 返回该实例中的一个属性print getattr(s,"a")#1#setattr为该实例中添加属性setattr(s,"b",2)print s.b#2#类方法和静态方法。#类方法:classmethod##关注于从类中调用方法, 而不是在实例中调用方法,可以用作方法重载, 传入参数cls,常用于数据转换。#静态方法:staticmethod##主要用于在类中做方法的调用,常用验证class Solution:    def __init__(self,a,b):        self.a = a        self.b = b    def foo(self):        return self.a + self.b    def foo2(self):        return Solution.static_foo(self.a,self.b)    @classmethod    def class_foo(cls,a,b):        return cls(a,b)    @staticmethod    def static_foo(a,b):        return a<3 and b<4# 实例方法调用和静态方法调用。s= Solution(1,2)print s.foo()print s.foo2()#使用类方法,相当于重新初始化实例#使用类方法,其实可以在一个类中有两个初始化方法。sCls = Solution.class_foo(4,5)print sCls.foo()print sCls.foo2()#类方法和静态方法都可以不用实例化类就能调用方法。#Solution.class_foo(4,5)print Solution.static_foo(2,3)

原创粉丝点击