python内置函数(3)---进制转换,面向对象相关

进制转换

1.  chr() #unicode编码
用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
返回值是当前整数对应的 ASCII 字符。
原型:chr(i)
i -- 可以是10进制也可以是16进制的形式的数字。

在这里插入图片描述

2. ord() #chr()反操作
它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,
如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
原型:ord(c)
c -- 字符。

在这里插入图片描述

3. bin() #转化为ob开头的二进制字符
返回一个整数 int 或者长整数 long int 的二进制表示。返回字符串。
原型:bin(x)
x -- int 或者 long int 数字

在这里插入图片描述

4. hex() #转化为ox开头的十六进制字符
hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
原型:hex(x)
x -- 10进制整数

在这里插入图片描述

5. ascii() #可打印表示对象,类似于 repr() 
ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。
原型:ascii(object)
object -- 对象。

在这里插入图片描述

6. oct() # 转化为0o开头的八进制字符
oct() 函数将一个整数转换成8进制字符串。
原型:oct(x)
x -- 整数。

在这里插入图片描述

面向对象相关

以下函数参数:
object -- 对象。
name -- 字符串,对象属性。
value -- 属性值。

1. setattr(object, name, value) #为对象设置属性,如果属性不存在会创建一个新的对象属性,并对属性赋值。
2. delattr(object, name) # 删除命名的属性
3. getattr(object,name) #获取属性的取值,如果对象无此属性,会抛异常
4. getattr(object,name, 123) #即便无此属性,也不会抛异常,会返回123
5. hasattr(object,name) # 判断name属性是否属于object

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. isinstance(object, classinfo) #判断object是否为classinfo的实例。
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
如果对象的类型与参数 classinfo 的类型相同则返回 True,否则返回 False。。
原型:isinstance(object, classinfo)
object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

在这里插入图片描述

isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。

在这里插入图片描述

7. issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
 如果 class 是 classinfo 的子类返回 True,否则返回 False。
原型:issubclass(class, classinfo)
class -- 类。(注意:这里不是实例对象)
classinfo -- 类。

在这里插入图片描述

8. type()
如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
原型:
type(object)
type(name, bases, dict)
参数
name -- 类的名称。
bases -- 基类的元组。
dict -- 字典,类内定义的命名空间变量。
返回值
一个参数返回对象类型, 三个参数,返回新的类型对象。

在这里插入图片描述

X = type('X', (object,), dict(a=1))  # 产生一个新的类型 X
等同于:
class X(object):
    a = 1

在这里插入图片描述

9. super() 函数是用于调用父类(超类)的一个方法。
super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,
但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
原型:
super(type[, object-or-type])
type -- 类。
object-or-type -- 类,一般是 self
Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx :

在这里插入图片描述

10 . property() #特性相关,@property标记为属性
property() 函数的作用是在新式类中返回属性值。
原型:
class property([fget[, fset[, fdel[, doc]]]])
fget -- 获取属性值的函数
fset -- 设置属性值的函数
fdel -- 删除属性值函数
doc -- 属性描述信息
11. vars() # 返回对象的属性和属性值的字典对象。如果没有参数,就打印当前调用位置的属性和属性值 类似 locals()。
原型:
vars([object])
object -- 对象

在这里插入图片描述

12. classmethod() # 转化方法为类方法
classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数。
可以来调用类的属性,类的方法,实例化对象等。
原型:
classmethod

在这里插入图片描述

13. staticmethod()  返回函数的静态方法。
该方法不强制要求传递参数,如下声明一个静态方法:
原型:
staticmethod(function)

class C(object):
    @staticmethod
    def f(arg1, arg2, ...):
        ...
以上实例声明了静态方法 f,从而可以实现实例化使用 C().f(),当然也可以不实例化调用该方法 C.f()。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值