python 基础知识六:内置函数(2)

# coding=utf-8

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

#iter() 函数用来生成迭代器。
#知识引申:注意区分可迭代对象和迭代器

#迭代器定义:迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
#可迭代对象定义:可以直接作用于 for 循环的对象统称为可迭代对象: Iterable
#可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。

#关联:生成器都是 Iterator 对象,但 list 、 dict 、 str 虽然是 Iterable ,却不是 Iterator 。
#把 list 、 dict 、 str 等 Iterable 变成 Iterator 可以使用 iter() 函数

#总结:凡是可作用于 for 循环的对象都是 Iterable 类型;
#凡是可作用于 next() 函数的对象都是 Iterator 类型
#集合数据类型如 list 、 dict 、 str 等是 Iterable 但不是 Iterator ,不过可以通过 iter() 函数获得一个 Iterator 对象
#参考文献:https://www.cnblogs.com/python-road/p/10504474.html
lst = [1, 2, 3]
for i in iter(lst):
	print(i)

for i in lst:
	print(i)

# tuple() 函数将列表转换为元组
print tuple([1,2,3,4])	#(1, 2, 3, 4)
print tuple({1:2,3:4})    #针对字典 会返回字典的key组成的tuple,  	(1, 3)
print tuple((1,2,3,4))    #元组会返回元组自身	(1, 2, 3, 4)
 
#bool 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False;bool 是 int 的子类。
print bool()	#False
print bool(0)	#False
print bool(1)	#True
print bool(2)	#True
print issubclass(bool, int)  # bool 是 int 子类	True

#filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
#math 类库常用函数参照于另一篇文章
import math
def is_sqr(x):
    return math.sqrt(x) % 1 == 0

newlist = filter(is_sqr, range(1, 101))		
print(newlist) 	#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# len() 方法返回对象(字符、列表、元组等)长度或项目个数。
str = "runoob"
print len(str)             # 字符串长度	6

l = [1,2,3,4,5]
print len(l)               # 列表元素个数 5

#range() 函数可创建一个整数列表。
range(10)        # 从 0 开始到 10		[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11)     # 从 1 开始到 11		[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)  # 步长为 5				[0, 5, 10, 15, 20, 25]
range(0, 10, 3)  # 步长为 3				[0, 3, 6, 9]
range(0, -10, -1) # 负数				[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)		#[]
range(1, 0)		#[]

 

你可能感兴趣的:(python学习笔记)