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 ina:if i=='Baidu':pass
print("执行pass代码段,顺便把百度搞掉");continue
print("循环数据"+i)for i inrange(len(a)):print(i,a[i])
##迭代器和生成器
迭代器访问集合元素的方式
具体步骤:1.创建迭代器对象 iter()方法 2.遍历迭代器next()方法
importsys
list=[1,2,3,4]
it= iter(list) #建立迭代器对象
while 1:try:print (next(it)) #不断遍历迭代器中的所有集合,当没有是结束
exceptStopIteration:
sys.exit()
生成器:
在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。
#coding=UTF-8
importsysdeffibonacci(n):
a,b,counter= 0,1,0whileTrue:if(counter>n):return
yielda
a,b= b,a+b
counter+=1f= fibonacci(10)whileTrue:try:print(next(f)),exceptStopIteration:
sys.exit()
01 1 2 3 5 8 13 21 34 55