常用内置方法之:__str__,__repr__】的更多相关文章

反射 反射用到的mmp模块 def wahaha():print('wahaha') class QQxing: def __init__(self,name): self.name = name def ADCa(self): print('in ADCa',self.name) # a # b # wahaha # QQxing # getattr('a') import sys print(sys.modules) print(sys.modules[__name__]) print(ge…
迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种可以不依赖索引取值的方式 # 会一直打印0,记得停止 # n = 0 # while True: # print(n) # 重复 + 每次迭代都是基于上一次的结果而来的 l = [1, 2, 3, 4, 5] s = 'hello' n = 0 while n < len(s): print(s[n…
python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2="hello world" # s3="""hello world""" # s3='''hello world''' 补充: 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如nam…
''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的灵活性: 以不变应万变,不论对象千变万化,使用者都是同一种形式去调用 2增加了程序可扩展性 继承一个Animal类创建一个新的类,使用者无需更改自己的代码,还是用原来的方式调用 3 如何用多态 ''' ''' class Animal: def speak(self): pass class Peo…
一.迭代器 1.迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 2.迭代器给你提供了一种不依赖于索引取值的方式 3.可以迭代取值的对象:字符串,列表,元组,字典,集合等 4.可迭代对象:内置有__iter__方法的都叫做可迭代对象 5.针对双下划线开头和结尾的方法:读法是双下+方法名 6.基本数据类型中,是可迭代对象的有:str.list.tuple.dict.set 文件对象(执行内置的__iter__之后还是本身,没有任何变化):文件对象本身就是迭代器…
一.反射 通过字符串的形式操作对象相关的属性.(使用字符串数据类型的变量名来获取这个变量的值) Python中的一切事物都是对象(都可以使用反射) 反射类中的变量 反射对象中的变量 反射模板中的变量 反射本文件中的变量 用反射的场景: input 网络 文件 #hasattr def hasattr(*args, **kwargs): # real signature unknown """ Return whether the object has an attribute…
类的内置方法 它与内置函数有紧密的联系,有的内置函数就是调用的内置方法. 在顶级父类obj中有: 两个双下方法 obj.__str__ str(obj) obj.__repr__ repr(obj) 1.__str__ 与 __repr__ class Teacher: def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return "Teacher's objec…
类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前,自动触发.调用该类时,内部会通过__new__产生一个新对象 __init__:在调用类时自动触发.通过产生的对象自动调用__init__() class Demo(object): # 条件: __new__: 在__init__触发前,自动触发. def __new__(cls,*args,**…
#可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型#不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x=10# print(id(x))# x=11# print(id(x))# y=['a','b','c']print(id(y))y[0]='A'print(y)print(id(y)) #一: 整型int# ======================================基本使用=============…
__str__: 在对象被打印的时候触发,可以用来定义对象被打印的输出格式 __del__:在对象被删除的时候触发,可以 用来回收对象以外的其他相关资源,比如系统资源等. __call__:在对象呗调用的时候触发. # -*- coding: utf-8 -*- """ __str__: 在对象被打印是自动触发,可以用来定义对象被打印时的输出信息 """ class People: def __init__(self, name, age): s…
JS中常用的内置函数如下: 1.eval(str):计算表达式的结果. 2.parseInt(str,n):将符串转换成整数数字形式(可指定几进制). 3.parseFloat(str):将字符串转换成符点数字形式. 4.isNaN(): 测试是(true)否(false)不是一个数字. 5.isFinite(number)可以判断参数number是否是一个无穷.如果是则函数返回false,否则返回true. 6.escape():将字符转换成Unicode码.这个字符串中可能含有空格.分号等字…
**递归**        def calc(n):            print(n)            if int(n / 2) == 0:  条件判断                return n            return calc(int(n/2))        calc(10)        结果为10,5,2,1                下一个是实现过程            def calc(n):                print(n)  …
class Test(object): def __init__(self): pass def __str__(self): return "test" test = Test() print test >>>test 如上所示,print 方法默认调用的是对象的__str__方法 class Test(object): def __init__(self): pass def __repr__(self): return "test" test…
常用内建函数# 如何在遍历一个列表的同时获取当前下标? # 普通人的做法 list = [1, 2, 3, 4, 5, 6] index = 0 for i in list: print('下标%s' % index, i) index += 1 # 大佬的做法 list = [1, 2, 3, 4, 5, 6] for i, j in enumerate(list): print('下标%s' % i, j) # 如何使用函数修饰被迭代对象来优化循环 # 普通人的做法 list1 = [1,…
一.字符串: lis='my name is maple' res=lis.count('m')#计算字符串内相同字符的个数 print(res) lis='my name is maple' res=lis.split(' ')#按照制定的分隔字符,分隔开多个字符串,存放到一个列表中 print(res) lis=' my name is maple ' res=lis.strip(' ')#将字符串左右2遍的制定字符删除掉,碰到不是制定字符就停止删除 print(res) lis='my n…
以下方法均不会修改操作数本身,只是将操作数处理后的数据返回 1.丢弃小数部分,保留整数部分 parseInt(x);//丢弃x中的小数部分,保留x中的整数部分 2.Math对象常用的方法 ceil(x) 返回x向上取整后的值 floor(x) 返回x向下取整后的值 round(x) 返回四舍五入取整后的值 max(x,[,y[,...]]) 返回最大值 min(x,[,y[,...]]) 返回最小值 random() 返回[ 0 , 1 )之间的伪随机数 sign(x) 判断x的符号, 此函数会…
# print(locals()) # print(globals()) def func(): x = 1 y = 1 print(locals()) # 函数内部的变量 print(globals()) # 当前程序的变量 func() # 2.eval,exec,和compile res = eval("1+2+1") print(res) # eval 有返回值 只能运行字符串 res = exec("1+1+10") # 可以执行字符串 亦可以执行函数的字…
chdir 修改当前工作目录到指定目录 Change the current working directory to the specified path. chmod 修改一个文件的访问权限 Change the access permissions of a file. chown 把一个目录的属主和属组修改成另一个数字的属主和属组 Change the owner and group id of path to the numeric uid and gid chroot 修改根目录(在…
定义列表:(有2个值相同) a = ['XiaoBao','aiaoHao','biaoLiao','ciaoQing','eiaoLi','QiBao','biaoLiao'] 列表的索引: first_place = a.index('biaoLiao')#index返回 xiaobao的位置,同时存在2个同样的也只返回第一个 存在两个相同值时,取出第一个后定义一个小列表,再从小列表中取出第二值的位置,然后将第一个place+小列表中取出的位置 little_place = a[first_…
当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关,这两个方法Python中的所有类型(新式类)的基类object中实现了这个通用的功能,本节详细分析__repr__方法. 一. object类内置方法__repr__和函数repr 类的内置方法__repr__和内置函数repr实际上实现的是同一功能,实际上repr调用的就是__repr__方法,…
目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format 4.join 5.replace 6.isdigit 7.title.capitalize.swapcase 8.find.index 9.center.ljust.rjust 10.isalnum.isalpha 2.列表的内置方法 1.类型转换 2.append.insert.extend 3.…
面向对象之反射及内置方法 一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被…
一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定…
一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定…
一.类的定义 在Python中,一切皆对象,即便是类本身,也是一种type类型的特殊对象. class Person: def __init__(self, name, age): self.name = name self.age = age def sayHi(self): print ('Hello, my name is {}, my age is {}.'.format(self.name, self.age)) print(type(Person)) # 返回值为type 二.sel…
补充内置函数 isinstance(obj,Foo)   # 判断obj是不是foo的实例 issubclass()      # 判断一个类是不是另一个类的子类 反射 什么是反射? 通过字符串来操作类或者对象的属性 怎么用? hasattr(adj,’xxx’) 判断adj有没有’xxx’属性 getattr(adj,’xxx’,None) adj有’xxx’就返回adj.xxx,没有则返回None,若不指定第三个                                 参数,没有则会…
常用内置方法 在Python中有许许多多的内置方法,就是一些Python内置的函数,它们是我们日常中经常可以使用的到的一些基础的工具,可以方便我们的工作. 查看所有的内置类和内置方法 # 方法一 built_list = dir(__builtins__) # 方法二 import builtins built_list = dir(builtins) 其中,以Error或者Warning等是Python中的异常类(关于异常可以参考后面的异常学习),以__开头和结尾的是内置的一些魔术方法(关于魔…
内置方法(双下方法,魔术方法) 在不需要程序员定义,本身就存在的类中的方法就是内置方法 内置方法:  __名字__ __init__   不需要我们主动调用,而是在实例化的时候内部自动调用的,存在一种自动触发它的语法 __str__ __repr__ __str__当你打印一个对象的时候 触发__str__当你使用%s格式化的时候 触发__str__str强转数据类型的时候 触发__str____repr__repr是str的备胎有__str__的时候执行__str__,没有实现__str__的…
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # know…
一. object类内置方法__str__和函数str 类的内置方法__str__和内置函数str实际上实现的是同一功能,实际上str调用的就是__str__方法,只是调用方式不同,二者的调用语法如下: 实例对象. str() str(对象) 返回值为一个字符串对象,该字符串对象类似一种非正式的字符串表示,为什么说是" 非正式"呢,这是因为Python对这个返回值没有特殊要求,只要求是对用户信息好理解. 此方法因此通常被用于与最终用户交互时的显示信息,str 的意义是得到便于人们阅读的…