String
- python3中,所有不同语言的字符串都是Unicode
- fruit = 'banana' fruit[0] = ' b' fruit[0:4] = 'bana', 我们不可以用 fruit[0] = 'B' 来修改字符串,但是List可以
- len(fruit) #字符串长度
- for letter in fruit: #输出这个字符串中的所有字符
- if letter == 'a': #可以用等号来判断字符或字符串是否相等
- after = before + 'aaa' #字符串拼接(拼接后中间没有空格)
- if 'f' in fruit :True # 用in可以来判断字符串里是否有某个字符(或多个字符)
- 字符串比较: word == 'banana' 一个一个字符串比较,word <(>) 'banana' 按照字母序判断 注意大写小于小写
- dir(fruit) #会输出fruit这个字符串python 内置的各种Methods.比如fruit.lower()就是一个method.
- capitalize() 首字母大写 、str.find('a') 如果没有找到返回-1、str.replace('a','b')用b替换 所有的 a、lstrip、rstrip、strip去掉str左边,右边,两边的whitespaces、startswith()\endswith()判断整个字符串的开头字符
File
- fhand = open(filename,mode) mode:‘r’ filename是一个string
- 这个fhand并不是真的读取了文件中的所有内容,而是可以manipulate文件的一个connection,可以看做是a sequence of strings,每一个string就是文件中的一行。
handle在内存里,把secondary memory中的内容和我们的python文件连接起来了,open/read/write/close就是一系列operation。
- 要输出文件中的每一行,可以这样子:for line in fhand:print(line)
- content= fhand.read() len(content)就是文件中所有的字符数 content[:20]即文件前20个字符
- if not 'abc' in line/ if line startswith('From:') ..... 可以根据自己需要筛选出自己要的那些行
- 一般文件操作都要有try,except操作 try:..... except:....quit()
- 换行符\n:(一种whitespace whitespace就是那些看不见的比如\n,\r...)
List
- 有趣的一件事: ,浮点数are not always perfectly represented inside of the computer
- range(10) :生成一个list (a list of numbers that range from zero to one less than the parameter)
- List拼接:① a = [1,2,3] b = [4,5,6] , c = a+b = [1,2,3,4,5,6] ② c.append('888') c = [1,2,3,4,5,6,'888'] c.append(888) c = [1,2,3,4,5,6,888]
- List分割:
- 初始化一个空List:stuff = list() 或 stuff = []
- 判断List中是否有某字符:9 in c:False 、2 not in c: False
- List自带有sort方法:c.sort()
- List还有一些处理数值的方法: ,不过这些内置的方法在数据量比较大的时候其实效率不高.
- 把字符串切割成List:
Dictionary
- List与Dictionary的不同点: 。因为字典里的元素没有顺序,所以字典中的元素需要有label~也就是key
- 初始化:purse = dict() purse['money'] = 12(赋值) 空字典:purse = {}
- 字典的应用:① 计多个元素出现的次数
- 判断一个value是否在字典里:if ‘money’ in purse
- 不重复地向字典中添加元素:
- .get()方法: update的同时可以create: (背景是计算一段文本中每个单词的出现次数)
- 获取字典的key和value的List: 循环输出key和value值:
- 使用字典计算文件中的单词出现次数:
Tuple