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':
pass
print("执行pass代码段,顺便把百度搞掉");
continue
print("循环数据"+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-8
import sys
def fibonacci(n):
a,b,counter = 0,1,0
while True:
if(counter>n):
return
yield a
a,b = b,a+b
counter +=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