Python基础学习1

订阅极客时间《零基础学Python》开始一步步全面学习python,刚开始学习,发现有人讲解学习一些基础知识比自己去查询资料摸索效率要高,接下来将利用教学视频开展学习实践。
序列:是指它的成员都是有序排序,并且可以通过下标偏移访问到它的一个或几个成员,字符串、列表、元组三种类型都属于序列。
字符串 = 'abc',可用单引号和双引号,取决内容中是否有单双引号。
列表 = [2,'abc','xyz'],列表存储内容可变更,使用.append添加元素增加到最后,使用.remove可选择删除元素。
序列基本操作:可用[not]in判断是否在和不在字符串中,用+实现字符串连接,用*整数实现重复操作,用[:]切片操作(举例:[0:4]选取0,1,2,3元素),字符串和列表都具备序列基本操作,下标以0起始。
元组 = ('abc','xyz')或者嵌套元组((1,20),(2,15)),嵌套元组之间相互比较运算是拼接为120,215之后计算,这样计算后(2,15)比(1,20)大;元组存储内容一般不可变更。
元组例子:

zodiac_name = (u'摩羯座', u'水瓶座', u'双鱼座', u'白羊座', u'金牛座', u'双子座',
           u'巨蟹座', u'狮子座', u'处女座', u'天秤座', u'天蝎座', u'射手座')
zodiac_days = ((1, 20), (2, 19), (3, 21), (4, 21), (5, 21), (6, 22),
              (7, 23), (8, 23), (9, 23), (10, 23), (11, 23), (12, 23))

(month,day) = (10,2)

zodiac_day = filter(lambda x:  x <= (month,day) , zodiac_days)#取出zodiac_days中<=的(month,day)元素
zodiac_len = len (list(zodiac_day)) % 12
print(zodiac_name[zodiac_len])

在元组例子中需要注意filter用法,如下摘取课程作者答复:
这里使用的filter()函数的返回类型叫迭代器,它是一种函数功能。
filter函数返回的内容类似一根长长的管子,里面按顺序依次存好要输出的元素,使用list()函数可以一次性将管子里的数据都取出来,第二次再去取管子中自然是空的了。
当然也可以使用next()函数每次只取一个元素,根据业务的需要来编写。

import time

num = [1, 2, 3, 4, 5, 6]
a = iter(num) # 把列表转换成迭代器
# 对比一下num 和 a的类型
print(type(num))
print(type(a))
# 输出
print(list(a)) # 一次返回所有内容
print(list(a)) # 空了

# 同样功能的filter()函数
b = filter(lambda x: x <= 5, num)
print(b.__next__()) # 取第一个
print(b.__next__()) # 取第二个
print(list(b)) # 全取出来
time.sleep(1) # 停1秒方便观察
b.__next__() # 返回一个StopIteration异常,告诉用户已经没有可以取得内容了

你可能感兴趣的:(Python基础学习1)