Python-内置函数

it2022-05-11  57

今日内容:

内置函数:

一、作用域相关的:

局部作用域的变量 -- locals()

全局作用域的变量 -- globals()

  在全局执行这两个方法,结果相同

  在局部执行,locals表示函数内的名字,globals始终不变

  在Python里,要尽量少去调用双下方法

 

#print([1,2,3].__iter__()) #内置的特殊成员

 

执行字符串数据类型的python代码,检测import os  ‘import’ in code

二、其他:

1、字符串类型代码的执行

eval:返回值

exec:没有返回值

compile:当需要对某一个字符串数据类型的python代码多次执行的时候,就用compile先编译一下

code1 = 'for i in range(0,10): print (i)' compile1 = compile(code1,'','exec') #编译 # print(compile1) #code exec(compile1)

2、输入输出:

python input():用来获取控制台的输入。

注意:Python3里input()默认接受到的是str类型。

函数语法:  input([prompt])

python print():方法用于打印输出,最常见的一个函数。

  print在Python3.x是一个函数,但在Python2.x版本不是一个函数,只是一个关键字。

3、内存相关:

hash():用于获取取一个对象(字符串或者数字等)的哈希值

hash语法:

hash(object)

实例:

>>>hash('test') # 字符串 2314058222102390712 >>> hash(1) # 数字 1 >>> hash(str([1,2,3])) # 集合 1335416675971793195 >>> hash(str(sorted({'1':1}))) # 字典 7666464346782421378 >>>

id():函数用于获取对象的内存地址。

id语法:

id(object)

返回值:返回对象的内存地址。

实例:

>>>a = 'runoob' >>> id(a) 4531887632 >>> b = 1 >>> id(b) 140588731085608

4、文件操作相关:

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

函数语法:

open(name[, mode[, buffering]])实例: >>>f = open('test.txt') >>> f.read() 'RUNOOB1\nRUNOOB2\n'

5、模块相关:

__import -- import:函数用于动态加载类和函数。如果一个模块经常变化,就可以import来动态载入。

返回:元祖列表

实例:

import time for i in range(0,101,2): time.sleep(0.1) char_num = i//2 #打印多少个'*' per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num) print(per_str,end='', flush=True)

\r:可以把光标移动到行首,但不换行。

6、帮助:

help:函数用于查看函数或模块用途的详细说明。

语法:help[object]

返回:返回对象帮助信息

7、调用相关:

callable:返回True或者False

8、查看内置属性:

dir函数:查看所有的内置函数 -- dir(__builtins__)

    查看某对象的属性及方法 -- dir(object)

三、迭代器/生成器:

range():函数可创建一个整数列表,一般用for循环中,

参数说明:

start:默认是从0开始,例如range(5) == (0,5)

end:计数到end结束,但不包括end,例如range(0,5)是[0,1,2,3,4]没有5

step:步长,默认为1,例如:range(0,5) == range(0,5,1)

实例:

for i in range(0,100): print(i)

next():返回迭代器的下一个项目。

语法:next(iterator[, default])

参数说明:

inerator -- 可迭代对象

default -- 可选,用于设置在没有下一个元素时返回默认值,如果不设置,有没有下一个元素则会触发oplteration异常。

返回值:返回对象帮助信息

实例:

# 首先获得Iterator对象: it = iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x = next(it) print(x) except StopIteration: # 遇到StopIteration就退出循环 break

iter():函数用来生成迭代器。

返回值:迭代器对象。

实例:

>>>lst = [1, 2, 3] >>> for i in iter(lst): ... print(i) ... 1 2 3

四、基础数据类型相关:

1、和数字相关的:

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

  bool是int的子类。

返回值:返回Ture或False。

(2)int:函数用于将一个字符串的数字转换为整形。

返回值:返回整形数据。

(3)float:函数用于将整数和字符串转换成浮点数。

返回值:浮点数。

2、数学运算:

(1)abs:函数返回数字的绝对值。

返回值:函数返回x(数字)的绝对值。

(2)divmod:函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b, a%b)

  在python2.3版本之前不允许处理复数。

(3)round():方法返回浮点数x的四舍五入值。

返回值:返回浮点数X的四舍五入值。

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

语法:

以下是math模块pow()方法的语法

import math math.pow( x, y )

内置的pow()方法

pow(x,y[,z])

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

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

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

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

import math # 导入 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)

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

(6)min():方法返回给定参数的最小值,参数可以为序列。

语法:以下是min()方法的语法。

min( x, y, z, .... )

返回值:返回给定参数的最小值。

(7)max():方法返回给定参数的最大值,参数可以为序列。

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

max( x, y, z, .... )

返回值:返回给定参数的最大值。

五、和数据结构相关的:(我就不一个一个的列举了,只把最重要,最常用的写一下。)

1、序列:

(1)list():方法用于将元祖转换为列表。

注意:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

语法:list()方法语法:

list(seq)

返回值:返回列表。

实例:

aTuple = (123, 'xyz', 'zara', 'abc'); aList = list(aTuple) print "列表元素 : ", aLis

(2)tuple():函数讲列表转换为元祖。

语法:tuple()方法语法:

tuple(seq)

返回值:返回元祖。

(4)len():方法返回对象(字符、列表、元祖等)长度或项目个数。

语法:len()方法语法

len(s)

返回值:对象长度。

 

以上是一些比较常用和重要的内置函数。

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/chengdajing/articles/7491450.html


最新回复(0)