1. python中的魔法方法, 类似__init__, __str__等等,这些内置好的特定的方法进行特定的操作时会自动被调用 2. __init__的使用方法 class 类名(object):    def __init__(self):        print("hhahhah")对象1 = 类名() 打印结果:hhahhah 说明init的方法实例化对象的时候会自动初始化调用 3. __str__的使用方法 class 类名(object):    def __str__(…
python中self与__init__怎么解释能让小白弄懂? 这个问题其实没那么简单. 只说一下自己的理解. python 里所有的 object 都有三个属性, 标识(identity), 类型(type) 和值(value). 其中 identity 可以用 id 函数获得, CPython 里的实现是 object 的内存地址. 值就是 object 具体存放的数据, 而 type, object 的类型, 决定了可以对数据所进行的操作. 这里举个例子, tuple (1, 2, 3)和…
在python中,据我所知,至少有3到4种方法来创建和初始化给定大小的列表: 简单循环append: my_list = [] for i in range(50): my_list.append(0) 简单循环+=: my_list = [] for i in range(50): my_list += [0] 列表理解: my_list = [0 for i in range(50)] 列表和整数乘法: my_list = [0] * 50 在这些例子中,我认为只有列表只有50个元素会有任何…
Python中基类object提供了一系列可以用于实现同类对象进行"比较"的方法,可以用于同类对象的不同实例进行比较,包括__lt__.__gt__.__le__.__ge__.__eq__和__ne__六个方法. 那么为什么叫"富比较"("rich comparison")方法呢?查了相关资料,并没有看到权威的定义,老猿结合网上零星的资料,分析原因如下: Python2.1以前的比较方法只提供一个__cmp__方法,没有__lt__等6个方法,…
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容>介绍了通过属性和查找方法定位HTML报文的内容的方法,除了这两种方法还有一种方法就是通过使用CSS选择器的语法找到tag,关于css选择器老猿在此不进行介绍,大家可以自行查找文档了解,老猿推荐W3School 的<CSS 选择器参考手册>.其实…
提出问题 当我们自定义一个类时,打印这个类对象或者在交互模式下直接输入这个类对象按回车,默认显示出来的信息好像用处不大.如下所示 In [1]: class People: ...: def __init__(self, name, sex): ...: self.name = name ...: self.sex = sex ...: In [2]: p = People('xiaoming', 'male') In [3]: p Out[3]: <__main__.People at 0x7…
一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstance(obj, Foo)) #结果为True 2.issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) #结果为True…
''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的灵活性: 以不变应万变,不论对象千变万化,使用者都是同一种形式去调用 2增加了程序可扩展性 继承一个Animal类创建一个新的类,使用者无需更改自己的代码,还是用原来的方式调用 3 如何用多态 ''' ''' class Animal: def speak(self): pass class Peo…
介绍 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,中文称『魔术方法』,例如类的初始化方法 __init__ ,Python中所有的魔术方法均在官方文档中有相应描述,但是对于官方的描述比较混乱而且组织比较松散.很难找到有一个例子. 推荐阅读:  Python 魔术方法指南 构造和初始化 每个Pythoner都知道一个最基本的魔术方法, __init__ .通过此方法我们可以定义一个对象的初始操作.然而,当调用 x = SomeClass() 的时候,…
1.%s,%r的区别 在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别. %s ⇒ str(),比较智能: %r ⇒ repr(),处理较为简单和直接: 处理一些简单对象时,二者几乎没有差别,本文重点列举一些二者的差异化用法: 1.1 处理字符串时 >> s = 'world' >> print('hello %s'%s) hello world >> print('hello %r'%s) hello 'w…