首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10-面向对象2

()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法: >>> dir('ABC') ['__add__', '__class__',..., '__subclasshook...__', 'capitalize', 'casefold',..., 'zfill'] 类似__xxx__的属性和方法Python中都是有特殊用途的,比如__len__方法返回长度。...Python,如果你调用len()函数试图获取一个对象的长度,实际上,len()函数内部,它自动去调用该对象的__len__()方法,所以,下面的代码是等价的: >>> len('ABC') 3...__ = __str__ __iter__ 如果一个类想被用于for ... in循环,类似listtuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的...(args)) 当用户定义一个class User(Model)时,Python解释器首先在当前类User的定义查找metaclass,如果没有找到,就继续父类Model查找metaclass,找到了

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python3内置函数表.md

,如果存在则覆盖/不存在则建立该属性 (19)selattr(obj,name) #删除对象属性 (20)property(fget=None,fset=None,fdel=None,doc=...(test,'e','实例化对象没有 e 属性')) #有实例化对象没有 e 属性 #18.setattr 设置对象属性值 setattr(test,e,'Hello world') print...(string)) 返回 str string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 (9) find(str, beg=0 end=len(string...”strict”) Python3 没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode...list(seq) 将元组转换为列表 Python包含以下方法: (2)list.append(obj) 列表末尾添加新的对象 (3)list.count(obj) 统计某个元素列表中出现的次数

89330

Python3内置函数表.md

,如果存在则覆盖/不存在则建立该属性 (19)selattr(obj,name) #删除对象属性 (20)property(fget=None,fset=None,fdel=None,doc=None...(test,'e','实例化对象没有 e 属性')) #有实例化对象没有 e 属性 #18.setattr 设置对象属性值 setattr(test,e,'Hello world') print...”strict”) Python3 没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode...) 将元组转换为列表 Python包含以下方法: (2)list.append(obj) 列表末尾添加新的对象 (3)list.count(obj) 统计某个元素列表中出现的次数 (4)list.extend...s.union(t) |返回两个集合的并集 , s | t 合并操作:s “” t 的元素 (5) s.difference(t) 返回多个集合的差集, s - t s 存在, t 不存在的元素

1.3K20

6.python内置函数

__abs__() 10 2. all()   参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False. all(['python',123]...)) 结果: 7 28.exec()  执行字符串complie方法编译过的字符串,没有返回值 exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值...python 31.getattr()  获取对象属性 getattr(object, name [, defalut]) 获取对象object名为name的特性,如果object不包含名为name...参数object:对象 参数name:对象的特性名 参数default:缺省返回值 print(getattr(list, 'append')) ---> <method 'append' of '...如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,字典查找,哈希值用于快递比价字典的键。 两个数值如果相等,则哈希值也相等。

73560

10 Python 基础: 如何定制类,这里有答案

---- 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些Python是有特殊用途的。...()停止迭代的异常,所以就不能再for循环和next了 __iter__ 如果一个类想被用于for ... in循环,类似listtuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象...要避免这个错误,除了可以加上一个score属性外,Python还有另一个机制,那就是写一个__getattr__()方法,动态返回一个属性。...此外,注意到任意调用如s.abc都会返回None,这是因为我们定义的__getattr__默认返回就是None。...Python,答案是肯定的。 任何类,只需要定义一个__call__()方法,就可以直接对实例进行调用。

73760

10 Python 基础: 如何定制类,这里有答案

10 Python 基础: 如何定制类,这里有答案,共有 1 部分: 定制类 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些Python是有特殊用途的。...__ = __str__ 注意事项 当我们的迭代器被for循环了,或者已经list过1次之后,list或者是for循环就会报错,或者是得到空列表,是因为next()已经调用了,现在已经是抛出StopIteration...()停止迭代的异常,所以就不能再for循环和next了 __iter__ 如果一个类想被用于for ... in循环,类似listtuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象...此外,注意到任意调用如s.abc都会返回None,这是因为我们定义的__getattr__默认返回就是None。...Python,答案是肯定的。 任何类,只需要定义一个__call__()方法,就可以直接对实例进行调用。

66630

python--try except 异常捕获以及正则化、替换异常值

)零(所有数据类型) AssertionError 断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF标记 EnvironmentError 操作系统错误的基类...序列没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python解释器不是致命的) NameError 未声明/初始化对象(没有属性) ReferenceError...试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块包;基本上是路径问题名称错误 IndentationError...index, elem in file_data.iterrows(): string_list.append(elem[0]) string_list1.append...(elem[1]) return string_list,string_list1 def get_textLine1(path): string_list = [] file_data

1.1K10

pickle源码大宝典-ForMe

PERSID = b'P' #读取当前行到行末尾,将读取到的数据作为id,通过persistent_load函数获得obj对象返回后将obj对象压栈,默认情况没用,要重写persistent_load...第一第二次弹出的数据分别放入module和name,先导入moudle模块,然后name通过.逐个获取出里面的子成员,最后返回目标子成员(可能是函数也可能是类变量)var1 # 2....LIST = b'l' #将上一次Mark之后的数据全部弹出,并且将其存放到一个数组,然后将这个数组压栈b"(S'h0cksr'\np1\nS't'\nl."...第一第二次弹出的数据分别放入module和name,先导入moudle模块,然后name通过.逐个获取出里面的子成员,最后返回目标子成员(可能是函数也可能是类变量)var1 # 2....LIST = b'l' #将上一次Mark之后的数据全部弹出,并且将其存放到一个数组,然后将这个数组压栈b"(S'h0cksr'\np1\nS't'\nl."

786130

最全Python内置函数

globals 变量作用域,全局命名空间 locals 变量作用域,局部命名空间 result: 10 exec的使用:  执行存储字符串文件的...: 帮助查看类型有什么方法 str_test = "wyc" print(help(str)) result: 结果有点小长,就不粘贴再此了  id的使用: 查看当前类型的存储计算机内存的id...地址 str_test = "wyc" print(id(str_test)) result: 2376957216616  input的使用: 接受标准数据,返回一个string类型 user_input...() print(type(lst)) result: vars的使用:  返回对象object的属性属性值的字典对象 print(vars()) {'__builtins...= Runoob() print(vars(runoob)) {} zip的使用: 函数用于将可迭代的对象作为参数,将对象对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

61920

一文教你读懂 Python 的异常信息

AttributeError 当你访问一个对象属性,但是这个属性没有在这个对象定义的时候,就会引发 AttributeError。...' object has no attribute 'b' AttributeError 的错误消息行告诉我们特定对象类型(本例为 int)没有访问的属性, 在这个例子属性为 b。...: 'tuple' object has no attribute 'append' 这里尝试给 a_list 对象进行 append 操作但是引发了异常, 这里的错误信息说,tuple 对象没有...还有一种情况就是当对 None 进行属性操作的时候,很容易引发上面的异常 a_list = None a_list.append (3) 运行抛出异常 Traceback (most recent...(3) AttributeError: 'NoneType' object has no attribute 'append' 是不是很眼熟啊,遇到这种情况不要慌,分析看看你的哪个对象None

2.4K10

核心编程笔记(13.P

注: __init__()方法创建后,实例化调用这个类并返回这个实例之前,会调用这个方法,执行一些额外的特定任务设置 创建一个类(类定义) >>> class AddrBookEntry(object...(创建一个更好的构造器) 设置实例的属性可以实例创建后任意时间进行,也可以能够访问实例的代码中进行 构造器首先设置实例属性 默认参数提供默认的实例安装 例,使用缺省参数进行实例化 定义个类来计算这个旅馆租房费用...找到,如果P1没有,查找将会到达P2 然而bar(),它搜索GC和C1,紧接着C2找到了,这样就不会再继续搜索到祖父 P1和P2 新式类也有一个__mro__属性,告诉你查找顺序是怎样的: >>...__init__() 13.12.6 vars() vars()与dir()相似,vars()返回一个字典,它包含了对象存储于其__dict__属性(键)及值,如果提供的对象没有这个属性,则会引发TypeError...元类一般用于创建类,执行类定义时,解释器必须要知道这个类的正确的元类 解释器会先寻找类属性__metaclass__,如果属性存在,就将这个属性赋给此类作为他的元类,如果此属性没有定义,他会想上查找父类

36730

Python基础 | 新手学Python时常见的语法错误和异常

语法错误又称解析错误,是我们刚接触学习Python 时最容易遇到的错误,区区别于异常而言,语法错误非程序执行时的逻辑错误; 即使语句表达式语法上是正确的,但在尝试执行时,它仍可能会引发错误,而这个执行时检测到的逻辑错误被称为异常...AttributeError:当试图使用一个对象没有属性方法时 In [8]: dic = {'key1':'var1', ...: 'key2':'var2'} In [9...dic,但是对它使用了列表的方法append,这个时候就会出现报错提示dict没有方法append。...)零 (所有数据类型) AssertionError 断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类...序列没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象 (没有属性) UnboundLocalError

7K41

python 面向对象技巧 定制类

看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些Python是有特殊用途的。...__ = __str__ __iter__ 如果一个类想被用于for ... in循环,类似listtuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的...if attr=='age': return lambda: 25 只是调用方式要变为: >>> s.age() 25 注意,只有没有找到属性的情况下,才调用__getattr...此外,注意到任意调用如s.abc都会返回None,这是因为我们定义的__getattr__默认返回就是None。...__call__ 一个对象实例可以有自己的属性和方法,当我们调用实例方法时,我们用instance.method()来调用。能不能直接在实例本身上调用呢?Python,答案是肯定的。

41520

Python复习 一

) {1: None, 2: None, 3: None} 返回字典内容 keys():返回字典所有Key值 >>> dict {1: None, 2: None, 3: None} >>> dict.keys...read(size=-1):从文件读取size指定的字符内容大小;未赋值表示读取全部内容并作为String返回 readline():读取一行字符串 write():向文件输出内容 writelines...异常 Exception: 所有异常的基类(可以接收任何类的异常) AssertionError:assert语句失败(assert条件不成立) AttributeError:访问一个对象没有属性对象属性不存在...这个特别的变量指的是对象的本身,名为:self; 初探Python魔法方法 __ init__()构造方法 只要实例化一个对象前,这个方法就会在对象被创建前自动调用;参数形参也会自动传入该方法;可以利用重写该方法实现初始化的操作...中表示私有的属性:变量名前两个下划线“__” 继承 class 类名(被继承的类): self:只可以使用自己的类对象 super:可以从子类调用父类属性对象 Python支持多重继承,即一个类继承多个父类

1.2K20
领券