1.字符串的用法(String)
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串
这三点是我觉得Python字符处理特别的一点
我们来看第二点
#coding=UTF-8 a = 99 print (id(a)) b='' print (id(b)) b+='abc' print (id(b)) b+=str(a) print(id(b)) print(id(b))
我们可以这样理解:就比如,盒子里面有一个苹果,现在你要放一个香蕉进去,但盒子放不下了,只能把苹果和香蕉先放到一个新盒子里面,在返回给你。
2.变量类型
##变量赋值
首先变量不需要声明类型,其次多次赋值可以这样
a,b,c = 1,2,"runoob" print(c)
##Python的标准数据类型
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
列表[]与元素()
#列表 list = ['a','b',1998,'k','l']list[2]='0804' print(list[1:3])*2#元组就是只读列表,不可更改 list2 = ('q','w','e','r','s') #list2[2]='0804'非法 print(list2[0:3])
字典{}(有映射)
Map = {"key1":"value1","key2":"value2","key3":"value3",1:9}print(Map.keys()) print(Map.values()) print(Map["key1"])
##运算符
**幂 //除取整
判断是否在一个集合中 in not in
判断两个标识符是否引用同一个对象 is is not
##条件语句 Python不支持switch所以只能用 if elif else
#coding=UTF-8 while 1:n = input("请输入一个数字")if n < 60 and n >= 0:print("不及格")elif n >= 60 and n < 90:print("及格")elif 100 >= n >= 90:print("优秀")else:print("待定")
##循环语句
#coding=UTF-8 a = ['Google','Baidu','Bing','Tencent','Bilibili'] for i in a:if i=='Baidu':passprint("执行pass代码段,顺便把百度搞掉");continueprint("循环数据"+i)for i in range(len(a)):print(i,a[i])
##迭代器和生成器
迭代器访问集合元素的方式
具体步骤:1.创建迭代器对象 iter()方法 2.遍历迭代器next()方法
import sys list=[1,2,3,4] it = iter(list) #建立迭代器对象while 1:try:print (next(it)) #不断遍历迭代器中的所有集合,当没有是结束except StopIteration:sys.exit()
生成器:
在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。
#coding=UTF-8import sysdef fibonacci(n):a,b,counter = 0,1,0while True:if(counter>n):returnyield aa,b = b,a+bcounter +=1 f = fibonacci(10)while True:try:print(next(f)),except StopIteration:sys.exit()0 1 1 2 3 5 8 13 21 34 55