文章目录
hex 函数
功能:用于将10进制整数转换成16进制,以字符串形式表示
语法:hex(x) x 为 10 进制整数
返回值:返回16进制数,以字符串形式表示
o1 = hex(255) #'0xff'
print(o1)
o2 = hex(-42) #'-0x2a'
print(o2)
o3 = hex(1) # '0x1'
print(o3)
o4 = hex(12) # '0xc'
print(o4)
o6 = type(hex(12)) #<class 'str'> # 字符串
print(o6)
id 函数
id() 函数返回对象的唯一标识符,标识符是一个整数。
CPython 中 id() 函数用于获取对象的内存地址
语法 : id([object]) object 对象
返回值:返回对象内存的地址
实例
a = 1
print(id(a)) #140706105946368
print(hex(id(a))) #0x7ff8b1767100
input 函数
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型
Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入
raw_input() 将所有输入作为字符串看待,返回字符串类型。
而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int, float)
注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
python3 里 input() 默认接收到的是 str 类型,如果使用其它类型需要转换
语法:input([prompt]) prompt: 提示信息
在Python2.x中 raw_input()和input(),两个函数都存在,
区别:
- raw_input()将所有输入作为字符串看待,返回字符串类型。
- input()只能接收“数字”的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int,float)
在Python3.x中,raw_input()和input()进行了合并,删除了raw_input(),仅保留了input()函数,其接收任意任性输入,将所有输入替换为字符串处理,并返回字符串类型
int 函数
功能:用于将一个字符串或数字转换为整型
语法:class int(x, base=10)
参数:x 为字符串或数字,base 为进制数,默认十进制
返回值:返回整形数据
以下展示了使用 int() 方法的实例:
int() # 不传入参数时,得到结果0
int(3) # 3
int(3.6) # 3
int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制 18
int('0xa',16) # 10
int('10',8) # 8
总结:
- 若 x 为纯数字,则不能有 base 参数,否则报错;其作用为对入参 x 取整
- 若 x 为 str,则 base 可略可有,base 存在时,视 x 为 base 类型数字,并将其转换为 10 进制数字。
若 x 不符合 base 规则,则报错。如
int("9",2) #报错,因为2进制无9
int("9") #9 #默认10进制
int("3.14",8)
int("1.2")
#均报错,str须为整数
int("1001",2) #9
# "1001"才是2进制格式,并转化为十进制数字9
int("0xa",16) #10
# ≥16进制才会允许入参为a,b,c...
int("b",8) #报错
int("123",8) #83
#视123为8进制数字,对应的10进制为83
isinstance 函数
功能:判断一个对象是否是一个已知的类型,类似 type()
isinstance() 与 type() 区别:
-
type() 不会认为子类是一种父类类型,不考虑继承关系
-
isinstance() 会认为子类是一种父类类型,考虑继承关系
如果要判断两个类型是否相同推荐使用 isinstance()
语法: isinstance(object, classinfo)
参数:
object - - - - - 实例对象
classinfo - - - - - 可以是 int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False
实例1:
a = 2
isinstance (a,int) #True
isinstance (a,str) # False
isinstance (a,(str,int,list)) # 是元组中的一个返回 True
实例2:
class A:
pass
class B(A):
pass
flag1 = isinstance(A(), A) # returns True
print(flag1)
flag2 = (type(A()) == A) # returns True
print(flag2)
flag3 = isinstance(B(), A) # returns True
print(flag3)
flag4 = (type(B()) == A) # returns False
print(flag4)
issubclass 函数
功能:用于判断参数 class 是否是类型参数 classinfo 的子类
语法:issubclass(class, classinfo)
class - - - - - - - - 类
classinfo - - - - - -类
返回值:如果 class 是 classinfo 的子类返回 True,否则返回 False
实例:
class A:
pass
class B(A):
pass
print(issubclass(B,A)) # 返回 True
iter 函数
功能:用来生成迭代器
语法:iter(object[, sentinel])
参数:
object – 支持迭代的集合对象
sentinel – 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object
返回值:迭代器对象
实例<