Python 内置函数详解2

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(),两个函数都存在,
区别:

  1. raw_input()将所有输入作为字符串看待,返回字符串类型。
  2. 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

返回值:迭代器对象

实例<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的温柔香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值