内置函数3
21、bin()
21.1、描述
bin()返回一个整数 int 或者长整数 long int 的二进制表示。
22.2语法
以下是 bin() 方法的语法:
bin(x)
22.3、参数
x -- int 或者 long int 数字
22.4、返回值
字符串。
22.5实例
以下展示了使用 bin 函数的实例:
>>>bin(10)
'0b1010'
>>>bin(20)
'0b10100'
22、eval()
22.1、描述
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
22.2、语法
以下是 eval() 方法的语法:
eval (expression [ , globals [ , locals ] ])
22.3、参数
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
22.4、返回值
返回表达式计算结果。
22.5、实例
以下展示了使用 eval() 方法的实例:
>>>x=7
>>>eval('3 * x')
21
>>>eval('pow(2,2)')
4
>>>eval('2 + 2')
4
>>>eval("n + 4")
85
23、int()
23.1、描述
int() 函数用于将一个字符串会数字转换为整型。
23.2、语法
以下是 int() 方法的语法:
classint(x,base=10)
23.3、参数
x -- 字符串或数字。
base -- 进制数,默认十进制。
23.4、返回值
返回整型数据。
23.5、实例
以下展示了使用 int() 方法的实例:
>>>int() # 不传入参数时,得到结果0
0
>>>int(3)
3
>>>int(3.6)
3
>>>int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制18
>>>int('0xa',16)
10
>>>int('10',8)
8
24、open()
24.1、描述
python open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
更多文件操作可参考:Python 文件I/O。
24.2、函数语法
open (name [ , mode [ , buffering ] ] )
24.3、参数说明:
name : 一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取
1,访问文件时会寄存行。如果将 buffering 的值设为大于 1
的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
不同模式打开文件的完全列表:
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r + 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
24.4、file 对象方法
file.read([size])size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline()返回一行
file.readline([size])返回包含size行的列表,size 未指定则返回全部行
for line in f: print line#通过迭代器访问
f.write("hello\n")#如果要写入字符串以外的数据,先将他转换为字符串.
f.tell()返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置])用来移动文件指针.
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close()关闭文件
24.5、实例
测试文件 test.txt,内容如下:
RUNOOB1
RUNOOB2
>>>f=open('test.txt')
>>>f.read()
'RUNOOB1\nRUNOOB2\n'
25、str()
25.1、参数
object -- 对象。
25.2、返回值
返回一个对象的string格式。
25.3、实例
以下展示了使用 str() 方法的实例:
>>>s='RUNOOB'
>>>str(s)'RUNOOB'
>>>dict= {'runoob':'runoob.com','google':'google.com'};
>>>str(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
26、bool()
26.1、描述
bool()函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。
bool 是 int 的子类。
26.2、语法
以下是 bool() 方法的语法:
classbool ( [ x ] )
26.3、参数
x -- 要进行转换的参数。
26.4、返回值
返回 Ture 或 False。
26.5、实例
以下展示了使用 bool 函数的实例:
>>>bool()
False
>>>bool(0)
False
>>>bool(1)
True
>>>bool(2)
True
>>>issubclass(bool,int) # bool 是 int 子类
True
27、exec()
27.1、描述
exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。
27.2、语法
以下是 exec 的语法:
exec(object[,globals[,locals]])
27.3、参数
object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。
globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。
27.4、返回值
exec 返回值永远为 None。
27.5、实例
以下展示了使用 exec 的实例:
27.5.1、实例 1
>>>exec('print("Hello World")')
HelloWorld # 单行语句字符串
>>>exec("print ('runoob.com')")
runoob.com
# 多行语句字符串
>>>exec("""for i in range(5):
... print ("iter time: %d" % i)
... """)
itertime : 0
itertime : 1
itertime : 2
itertime : 3
itertime : 4
27.5.2、实例 2
x=10
expr="""
z = 30
sum = x + y + z
print(sum)
"""
deffunc():
y=20exec(expr)
exec(expr, {'x':1,'y':2})
exec(expr, {'x':1,'y':2}, {'y':3,'z':4})
func()
输出结果:
60
33
34
28、isinstance()
28.1描述
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
28.2、语法
以下是 isinstance() 方法的语法:
isinstance( object , classinfo)
28.3、参数
object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。
28.4、返回值
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。
28.5、实例
以下展示了使用 isinstance 函数的实例:
>>>a=2
>>>isinstance(a,int)
True
>>>isinstance(a,str)
False
>>>isinstance(a,(str,int,list)) # 是元组中的一个返回 True
True
type() 与 isinstance()区别:
classA:
pass
classB(A):
pass
isinstance(A(),A) # returns True
type(A())==A # returns True
isinstance(B(),A) # returns True
type(B())==A # returns False
29、ord()
29.1描述
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr()
函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode
数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
29.2语法
以下是 ord() 方法的语法:
ord ( c )
29.3参数
c -- 字符。
29.4返回值
返回值是对应的十进制整数。
29.5实例
以下展示了使用 ord() 方法的实例:
>>>ord('a')
97
>>>ord('b')
98
>>>ord('c')
99
30、sum()
30.1、描述
sum()方法对系列进行求和计算。
30.2、语法
以下是 sum() 方法的语法:
sum ( iterable [ , start ] )
30.3、参数
iterable -- 可迭代对象,如列表。
start -- 指定相加的参数,如果没有设置这个值,默认为0。
30.4、返回值
返回计算结果。
30.5、实例
以下展示了使用 sum 函数的实例:
>>>sum([0,1,2])
3
>>>sum((2,3,4),1) # 元组计算总和后再加 1
10
>>>sum([0,1,2,3,4],2) # 列表计算总和后再加 2
12