Python3内置函数(三)

2017-11-04  本文已影响0人  山有木兮有木兮


bin()

bin()返回一个整数 int 或者长整数 long int 的二进制表示。

语法:   bin(x)

参数:    x -- int 或者 long int 数字

返回值:  字符串。

实例:

>>>bin(10)

'0b1010'

eval()

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

语法:

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

参数:  expression -- 表达式。

globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回值: 返回表达式计算结果。

实例:

>>>x=7

>>>eval('3 * x')

21

int()

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

语法:  class int(x, base=10)

参数: x -- 字符串或数字。

base -- 进制数,默认十进制。

返回值:返回整型数据。

实例:

>>>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()

open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

语法:

open(name[,mode[,buffering]])

参数说明:

name : 一个包含了你要访问的文件名称的字符串值。

mode : mode 决定了打开文件的模式:只读,写入,追加等。默认文件访问模式为只读(r)。

buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

不同模式打开文件的完全列表:

模式描述

r: 只读,默认

rb: 二进制只读

r+: 打开一个文件用于读写

rb+:以二进制打开一个文件用于读写

w: 打开一个文件只用于写入

w+:打开一个文件用于读写,存在则覆盖,不存在则创建

wb+:二进制打开一个文件用于读写,存在则覆盖,不存在则创建

a:打开一个文件追加到已有内容后面,不覆盖,不存在则创建

ab:二进制打开一个文件追加到已有内容后面,不覆盖,不存在则创建

a+:打开一个文件用于读写。如果该文件已存在,文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,如果该文件不存在,创建新文件用于读写。

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()关闭文件

实例

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

RUNOOB1

RUNOOB2

>>>f=open('test.txt')

>>>f.read()

'RUNOOB1\nRUNOOB2\n'

str()

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

语法:

classstr(object='')

参数:object -- 对象。

返回值:返回一个对象的string格式。

实例:

bool()

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

bool是int 的子类

语法:class bool ([x])

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

返回值:返回 Ture 或 False。

实例:

>>>bool()

False

>>>bool(0)

False

>>>bool(1)

True

>>>bool(2)

True

>>>issubclass(bool,int)# bool 是 int 子类

True

isinstance()

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

isinstance() 与 type() 区别:

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

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

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

语法:

isinstance(object,classinfo)

参数:

object -- 实例对象。

classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。

返回值:

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

实例:

>>>a=2

>>>isinstance(a,int)

True

>>>isinstance(a,str)

False

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

True

type() 与 isinstance()区别:

class A :

pass

classB(A):

pass

isinstance(A(),A)            # returns True

type(A())==A                  # returns True

isinstance(B(),A)            # returns True

type(B())==A                  # returns False

exec()

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

语法:

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

参数:

object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。

globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

返回值

exec 返回值永远为 None。

实例:

实例 1

>>>exec('print("Hello World")')

HelloWorld

# 单行语句字符串

>>>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

ord()

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

语法: ord(c)

参数:c -- 字符。

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

实例:

>>>ord('a')

97

>>>ord('b')

98

>>>ord('c')

99

sum()

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

语法: sum(iterable[,start])

参数:

iterable -- 可迭代对象,如列表。

start -- 指定相加的参数,如果没有设置这个值,默认为0。

返回值:返回计算结果。

实例:

>>>sum([0,1,2])

3

>>>sum((2,3,4),1)# 元组计算总和后再加 1

10

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

12

bytearray()

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

语法:class bytearray([source[, encoding[, errors]]])

参数

如果 source 为整数,则返回一个长度为 source 的初始化数组;

如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

如果没有输入任何参数,默认就是初始化数组为0个元素。

返回值:返回新字节数组。

实例:

>>>bytearray()

bytearray(b'')

>>>bytearray([1,2,3])

bytearray(b'\x01\x02\x03')

>>>bytearray('runoob','utf-8')

bytearray(b'runoob')

>>>

filter()

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法: filter(function, iterable)

参数:function -- 判断函数。

iterable -- 可迭代对象。

返回值:返回列表。

实例:

过滤出列表中的所有奇数:

#!/usr/bin/python# -*-

coding: UTF-8 -*-

def is_odd(n):

            return  n%2 == 1

newlist = filter(is_odd,[1,2,3,4,5,6,7,8,9,10])

print(newlist)

输出结果 :

[1, 3, 5, 7, 9]

issubclass()

issubclass()方法用于判断参数 class 是否是类型参数 classinfo 的子类。

语法:issubclass(class,classinfo)

参数:class -- 类。classinfo -- 类。

返回值:如果 class 是 classinfo 的子类返回 True,否则返回 False。

实例:

#!/usr/bin/python# -*-

coding: UTF-8 -*-

class A:

        pass

class B(A):

        pass

print(issubclass(B,A))# 返回 True

pow()

pow()方法返回 xy(x的y次方) 的值。

语法:

import math

math.pow(x,y)

内置的 pow() 方法:pow(x,y[,z])

函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

参数:

x -- 数值表达式。

y -- 数值表达式。

z -- 数值表达式。

返回值:返回 xy(x的y次方) 的值。

实例:

#!/usr/bin/python3

importmath# 导入 math 模块

print("math.pow(100, 2) : ",math.pow(100,2))

# 使用内置,查看输出结果区别

print("pow(100, 2) : ",pow(100,2))

print("math.pow(100, -2) : ",math.pow(100,-2))

print("math.pow(2, 4) : ",math.pow(2,4))

print("math.pow(3, 0) : ",math.pow(3,0))

以上实例运行后输出结果为:

math.pow(100,2):10000.0

pow(100,2):10000

math.pow(100,-2):0.0001

math.pow(2,4):16.0

math.pow(3,0):1.0

super()

super()函数用于调用下一个父类(超类)并返回该父类实例的方法。

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

语法:

super(type[,object-or-type])

参数:

type -- 类。

object-or-type -- 类,一般是 self

实例:

执行结果:

Parent

Child

HelloWorldfromParent

Childbar fuction

I'm the parent.

上一篇下一篇

猜你喜欢

热点阅读