-
python继承的缺点
1、可能特殊的类存在其他特殊的地方,定义一个类,其下也可以重新定义类,这样会导致继承的那条线越来越长。 2、如果使用继承,任何一点小小的变化都需要重新定义一个类,很容易导致类别的爆炸式增长。 产生大量具有细微差异的子类。因此,有一个多用组合少用继承的原则。 实例 class SubDict(dict): def __setitem__(self, k, v): v = “sub_item_”+str(v) super().__setitem__(k, v)…
-
python调用父类的三种方法
面向对象的继承中,我们会涉及到父类的调用。在对继承的基础内容有所了解后,我们进一步探究调用父类的三种方法。 1、父类名字.父类方法名(self,[参数1,参数2,参数3,……]) 2、super().父类方法名([参数1,参数2,参数3,……]) 3、super(当前类名字,self).父类方法名([参数1,参数2……]) 实例 class Person(object): def __init__(self,name,gender): self.name =name …
-
python公有成员和私有成员的介绍
1、公有成员可以公开使用,即可以访问类的内部或外部程序。 默认情况下,Python中类默认的成员变量都是公开的。 2、私有成员不能直接访问类的外部,一般在类的内部进行访问和操作,或者在类的外部通过调用对象的公共成员来访问。 这是类封装特性的重要体现。 实例 class Point: x = 10 __y = 20 z = 30 def get_x(self): return self.x def get_y(self): r…
-
python魔法函数在类中的使用
1、魔法函数写在类中,init函数至少有一个参数self。 2、通过参数向要修改的属性传递参数,一般参数名与属性名一致。 3、一旦写了__init__函数,__init__函数除了self还有其他参数。 除了self,还需要__init__函数的参数传入值。您还可以为__init__函数的参数设置默认值。 实例 class Rectangle: length = 0 width = 0 def __init__(self, length, width): …
-
python中camel函数的使用
1、camel接收字符串形式的变量名,并将其转换为驼峰形式。 2、这个函数考虑的是变量形式的字符串,单词之间有相关的分隔,而不是直接连续的单词。 比如somefunctionname。 实例 from re import sub def camel(s): s = sub(r”(_|-)+”, ” “, s).title().replace(” “, “”) return s[0].lower() + s[1:] # EXAMPLES camel(‘some_database_f…
-
python字符串分隔类方法的总结
1、split()和rspilit()用作指定字符的分隔符,从原字符串的左端和右端分成多个字符串,并返回包含分隔结果的列表。 s = “bird,fish,monkey,rabbit” s.split(‘,’) #[‘bird’, ‘fish’, ‘monkey’, ‘rabbit’] s = ‘I am a boy’ s.split() #[‘I’, ‘am’, ‘a’, ‘boy’] s.resplit() #[‘I’, ‘am’, ‘a’, ‘boy’] 2、可以指定最大分隔次数。 s =…
-
python有哪些字符串查找类方法
1、find和rfind查找字符串首次和最后一次出现的位置,如果不存在则返回-1。 s = “bird,fish,monkey,rabbit” s.find(‘fish’) #5 s.rfind(‘b’) #20 s.find(‘tiger’) #-1 2、index和rindex查找时,不存在则抛出异常。 s = “bird,fish,monkey,rabbit” s.index(‘bird’) #0 s.rindex(‘i’) #21 s.index(‘tiger’) #指定字符串不存在 s…
-
python元组的应用场景
1、元组可以作为函数的参数、返回值、函数的参数和返回值,一个函数可以接收多个参数,一次返回多个数据。 2、格式字符串本质上是元组。 3、保证列表不被修改,以保护数据安全。 实例 tuple1 = (“aaa”,21,188) print(“%s 年龄是%d的身高是%d” % tuple1) tuple1str = “%s 年龄是 %d的身高是%d”%tuple1 print(tuple1str) 每日分享到群里,或者推荐给朋友会得大量积分,机会可以兑换微信零钱红包,具体请点击这里,得到了微信…
-
python __dict__的使用注意
1、__dict__是属性,不是方法。 2、若使用实例对象调用__dict__,则输出由所有实例属性组成的字典。 3、用类对象调用__dict__将输出由所有实例方法、类属性和类方法组成的字典。 实例 class PoloBlog: sum = 0 def __init__(self, name): self.name = name def test(self): pass @classmethod def te…
-
python zip_longest和zip的比较
1、zip返回的结果以最短的序列为准,zip_longest以最长的序列为准。 2、如果zip_logest遇到长度不一致的序列,缺少部分会填充None。 实例 from itertools import zip_longest a = list(zip(‘ABC’, range(5), [10, 20, 30, 40])) print(a) a = list(zip_longest(‘ABC’, range(5), [10, 20, 30, 40])) print(a) 每日分享到群里,或者推…