python 内置函数(3)

2018-09-26 18:13:50   最后更新: 2018-09-26 18:13:50   访问数量:133




eval() 函数用来执行一个字符串表达式,并返回表达式的值。

 

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

 

 

参数

  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

 

返回值

返回表达式计算结果。

 

实例

以下展示了使用 eval() 方法的实例:

>>>x = 7 >>> eval( '3 * x' ) 21 >>> eval('pow(2,2)') 4 >>> eval('2 + 2') 4 >>> n=81 >>> eval("n + 4") 85

 

 

int() 函数用于将一个字符串或数字转换为整型。

 

语法

以下是 int() 方法的语法:

class int(x, base=10)

 

 

参数

  • x -- 字符串或数字。
  • base -- 进制数,默认十进制。

 

返回值

返回整型数据。

 

实例

以下展示了使用 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

 

 

open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

  • 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

 

语法

open(file, mode='r')

 

 

完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

 

 

参数说明

  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener

 

mode 参数

模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

默认为文本模式,如果要以二进制模式打开,加上b。

 

实例

测试文件 test.txt,内容如下:

RUNOOB1

RUNOOB2

 

>>>f = open('test.txt') >>> f.read() 'RUNOOB1\nRUNOOB2\n'

 

 

str() 函数将对象转化为适于人阅读的形式。

 

语法

以下是 str() 方法的语法:

class str(object='')

 

 

参数

  • object -- 对象。

 

返回值

返回一个对象的string格式。

 

实例

以下展示了使用 str() 方法的实例:

>>>s = 'RUNOOB' >>> str(s) 'RUNOOB' >>> dict = {'runoob': 'runoob.com', 'google': 'google.com'}; >>> str(dict) "{'google': 'google.com', 'runoob': 'runoob.com'}" >>>

 

 

bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

bool 是 int 的子类。

 

语法

以下是 bool() 方法的语法:

class bool([x])

 

 

参数

  • x -- 要进行转换的参数。

 

返回值

返回 Ture 或 False。

 

实例

以下展示了使用 bool 函数的实例:

>>>bool() False >>> bool(0) False >>> bool(1) True >>> bool(2) True >>> issubclass(bool, int) # bool 是 int 子类 True

 

 

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

 

语法

以下是 exec 的语法:

exec(object[, globals[, locals]])

 

 

参数

  • object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。
  • globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
  • locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

 

返回值

exec 返回值永远为 None。

 

实例

以下展示了使用 exec 的实例:

 

实例 1

>>>exec('print("Hello World")') Hello World # 单行语句字符串 >>> exec("print ('runoob.com')") runoob.com # 多行语句字符串 >>> exec ("""for i in range(5): ... print ("iter time: %d" % i) ... """) iter time: 0 iter time: 1 iter time: 2 iter time: 3 iter time: 4

 

 

实例 2

x = 10 expr = """ z = 30 sum = x + y + z print(sum) """ def func(): y = 20 exec(expr) exec(expr, {'x': 1, 'y': 2}) exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) func()

 

 

输出结果:

60 33 34

 

 

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

 

isinstance() 与 type() 区别

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

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

 

语法

以下是 isinstance() 方法的语法:

isinstance(object, classinfo)

 

 

参数

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

 

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

 

实例

以下展示了使用 isinstance 函数的实例:

>>>a = 2 >>> isinstance (a,int) True >>> isinstance (a,str) False >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True True

 

 

type() 与 isinstance()区别:

class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False

 

 

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

 

语法

以下是 ord() 方法的语法:

ord(c)

 

 

参数

  • c -- 字符。

 

返回值

返回值是对应的十进制整数。

 

实例

以下展示了使用 ord() 方法的实例:

>>>ord('a') 97 >>> ord('b') 98 >>> ord('c') 99

 

 

sum() 方法对系列进行求和计算。

 

语法

以下是 sum() 方法的语法:

sum(iterable[, start])

 

 

参数

  • iterable -- 可迭代对象,如:列表、元组、集合。
  • start -- 指定相加的参数,如果没有设置这个值,默认为0。

 

返回值

返回计算结果。

 

实例

以下展示了使用 sum 函数的实例:

>>>sum([0,1,2]) 3 >>> sum((2, 3, 4), 1) # 元组计算总和后再加 1 10 >>> sum([0,1,2,3,4], 2) # 列表计算总和后再加 2 12

 

 

bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0

 

语法

bytearray()方法语法:

class bytearray([source[, encoding[, errors]]])

 

 

参数

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
  • 如果没有输入任何参数,默认就是初始化数组为0个元素。

 

返回值

返回新字节数组。

 

实例

以下实例展示了 bytearray() 的使用方法:

>>>bytearray() bytearray(b'') >>> bytearray([1,2,3]) bytearray(b'\x01\x02\x03') >>> bytearray('runoob', 'utf-8') bytearray(b'runoob') >>>

 

 






读书笔记      技术帖      龙潭书斋      python      python3     


京ICP备15018585号