Python 的内置函数介绍 (二)

Python 的内置函数介绍 (二)

iter( )

它是一个迭代器
例如我们用range创建一个序列
nums = range(1,3) 在Python 3中不直接创建 而是当进行循环取值的时候才去创建
print(nums)
当我们使用 for 循环这个nums 对象的时候

for i in nums
    print(i)

for 循环的内部其实是对 numbs 对象取下一次的值。
iter(object[, sentinel])
iter()函数用来返回指定对象的迭代器,有两种用法:iter(iterable)和iter(callable, sentinel),前者要求参数必须为序列或者有自己的迭代器,后者会持续调用参数callable直至其返回sentinel。
obj = iter([11,22,33,444]) 返回一个可以被迭代的对象
print(obj) 是个对象
next(obj)
r1 = next(obj)
通过next() 去取下一个的值
相关:yield 生成器

###locals( )
更新或者返回一个 包含局部变量的命名空间字典
关于命名空间相关 请查看Python 作用域与命名空间
注意!! 这个方法是只读的
例子如下:

def foo(arg, a):
    x = 1
    y = 'xxxxxx'
    for i in range(10):
        j = 1
        k = i
    print locals()

调用函数的打印结果
foo(1,2)
{‘a’: 2, ‘i’: 9, ‘k’: 9, ‘j’: 1, ‘arg’: 1, ‘y’: ‘xxxxxx’, ‘x’: 1}

map( )

map(函数,可以迭代的对象)
map()和filter()相似都有一个函数和一个可以迭代的对象,但是filter传入的函数必须返回 true ,false 然而 map的传入函数的返回值由函数自己定义。
例子如下

def f1(x):
    return x+100
ret = map(f1,[1,2,3,4,5])
for i in ret:
    print(i)

###max( ) min( )
一个用来取最大值一个取最小值
例子如下

li = [11,221,123,1]
r = max(li)#最大值
r1 = min(li)#最小值
print(r)
print(r1)

###memoryview( )
查看一个对象的内存地址是多少。 一般用不到,了解即可

v = memoryview(b'abcefg')
print(v)
# 结果为<memory at 0x1021b1888>

object()

所以类的基类, 面向对象会提及

open( )

在操作文件的时候会用到。
会在接下来接详细介绍

###pow( )
幂运算 是一个数学函数
例如求2的10次方

print(pow(2,10))

等同于 2**10

###print( )
调试时候常用, 打印输入到终端。

###property( )
面向对象的属性,会在面向对象详细介绍

###range( )
生成一个可以迭代的序列
注意 在Python3.x中range不直接创建 而是当进行循环取值的时候才去创建 等同于Python中的xrang()
注意!Python3.x 取消了xrang()

###repr( )
去对象的类中找repr 并取得获取返回值。
ascii() 都一样 但是ascii会对中文进行转意

###reversed( )
传入一个序列 反转后返回一个可以迭代的对象
例子如下:

r = reversed([1,2,3,4,5])
for i in r:
    print(i)
#输出结果如下
#5
#4
#3
#2
#1

###round( )
四舍五入
print(round(3.6))

###slice()
切片
list, tuple以及字符串等可以遍历访问的类型都可以应用slice访问。slice本身的意思是指切片,在这些可以遍历访问的类型中截取其中的某些部分。
例如:
a = [1,2,3,4,5]
print(a[2:3])

###sorted( )
该方法用于排序和list中sort()类似
详细看这里
Python 排序相关

###sum( )
求和 数学函数
print(sum([11,33,22]))
ps :在交互式窗口可以直接 11+33+22

###str( )
和字符数据类型相关
详细请看:
Python 的基本数据类型 字符串 (str)

###super( )
找到父类使用,面向对象介绍

###tuple( )
与元祖数据类型相关
详细请看:
Python 数据结构元祖 (tuple)

###type( )
用于查看传入的对象的数据类型
例子如下:

a = "abc"
b = 123
c = True
d = [1,2,"3"]
e = (1,2,"3")
print(type(a), type(b), type(c), type(d), type(e))
#输出结果 <class 'str'> <class 'int'> <class 'bool'> <class 'list'> <class 'tuple'>

###vars( )
vars([object])
返回对象object的命名空间name space, 如果没有参数, 那就返回本身的命名空间 和locals()相同
例子如下

print(vars())
class foo:
    a = 1
print(vars(foo))
f = foo()
print(vars(f))

###zip( )
zip(* iterables )
创建一个迭代器,聚合来自每个迭代器的元素。
例如 我们要合成一个 alex is a good guy

#!/usr/bin/env python3
l1 = ["alex",22,33,44,55]
l2 = ["is",22,33,44,55]
l3 = ["good",22,33,44,55]
l4 = ["guy",22,33,44,55]

s1 =zip(l1,l2,l3,l4)
s2 = []
for i in list(s1)[0]:
    if i == "guy":
        s2.append(i)
        break
    s2.append(i + '-')
finalstr="".join(s2)
print(finalstr)

###_import_( )
导入相关,在Python反射会提及。

发表评论

电子邮件地址不会被公开。 必填项已用*标注