-
super()的用法:
super() 函数是用于调用父类(超类)的一个方法。
super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
Python3.x 和 Python2.x 的一个区别是:
Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx
查看全部 -
python声明类时继承和不继承object类的区别
python3中,类定义默认继承object,所以写不写没有区别
python2中定义一个类时,不加object,称为经典类,加了object,称为新式类
查看全部 -
#如果D继承自B和C,但是D没有自己的who()方法,那么D的who()方法是B的还是C的呢?
查看全部 -
def format_name(s):
return s[0].upper() + s[1:].lower()
for item in map(format_name, ['alice', 'BOB', 'CanDY']):
print(item)查看全部 -
from math import sqrt
def add(x,y,f):
return f(x)+f(y)
result=add(4,9,sqrt)
print(result)查看全部 -
你妹啊,为什么一定要验证手机号查看全部
-
私有属性没有办法从外部访问,只能在类的内部操作;那如果外部需要操作私有属性怎么办?
查看全部 -
并不是所有的属性都可以被外部访问的,这种不能被外部访问的属性称为私有属性。私有属性是以双下划线'__'开头的属性。
查看全部 -
在Python中,通过class关键字定义一个类,比如我们需要定义一个人的类。按照 Python 的编程习惯,类名以大写字母开头。因此可以这样定义:
class Person: pass
注意,在这个Person类的定义里面,并没有继承任何类,除了这样定义以外,还可以有以下两种定义方式。
class Person(): pass class Person(object): pass
定义了类之后,就可以对类进行实例化了,实例化是指,把抽象的类,赋予实物的过程。
比如,定义好Person这个类后,就可以实例化多个Person出来了。
创建实例使用类名+(),类似函数调用的形式创建:class Person(object): pass xiaohong = Person() xiaoming = Person()
查看全部 -
使用close()方法,也不是100%安全的,如果在close()文件之前,程序异常退出了,那么文件也得不到正确的关闭。
with关键字对资源进行访问的场合,会确保不管在使用过程中是否发生异常,都会执行必要的“清理”的操作,释放资源,比如文件使用后自动关闭等等。
with open('test.txt', 'r') as f:
content = f.readlines()
for line in content:
print(line)
当文件使用结束后,不需要显式的调用f.close()关闭文件。
查看全部 -
通过w的打开方式打开文件,会清空文件的内容。
Python提供文件追加内容的打开模式,可以往文件尾部添加内容,又不清空文件原有的内容。
使用a的打开方式打开文件,文件游标默认是在文件的尾部,因此,可以便捷的往文件尾部添加内容。
除此以外,文件对象还提供seek()方法,可以移动文件的游标位置,它接受一个参数,表示文件的位置,0:文件首部,1:当前位置,2:文件尾部,通过seek()可以把文件游标移动到文件首部但不删除文件的内容。
查看全部 -
字符串反转可以使用切片实现: reverse = str_[::-1]。
f = open('test.txt', 'r')
lines = f.readlines()
f1 = open('test1.txt', 'w')
for line in lines:
line = line[::-1]
f1.write(line)
f1.close()
f.close()
查看全部 -
判断变量属性
isinstance(变量, 数字类型)
返回一个布尔值
查看全部 -
类的继承:
class子类定义时,继承的父类要写在()
在子类的 __init__()方法中,要初始化继承父类的属性,要使用
super(子类名, self).__init__(继承的属性)
查看全部 -
操作类的私用属性,使用类的方法
@classmethod 表示类方法
方法第一个参数cls表示类本身
查看全部
举报