18、字符串的分割和结合
(1)只针对字符串进行处理。split:拆分字符串、join连接字符串
(2)string.join(sep): 以string作为分割符,将sep中所有的元素(字符串表示)合并成一个新的字符串
(3)string.split(sep=‘ ‘,num=string.count(str)): 以str为分隔,符切片string,如果num有指定值,则仅分隔num个子字符串。
19、字符串的索引和切片
(1)遍历
通过for...in可以遍历字符串中的每一个字符。
(2) 索引访问
通过[]加索引的方式,访问字符串中的某个字符。
print word[0]
print word[-2]
(3)与list不同的是,字符串不能通过索引访问去更改其中的字符。
word[1] = ‘a‘
这样的赋值是错误的。
(4)连接字符
join方法也可以对字符串使用,作用就是用连接符把字符串中的每个字符重新连接成一个新字符串。
如: print ‘;’.join(‘my name is’)
‘m;y; ;n;a;m;e; ;i;s’
20、读文件和写文件
(1)读文件
file(‘文件名‘) 这里的文件名可以用文件的完整路径,也可以是相对路径。
f = open(‘data.txt‘)
data = f.read()
print data
f.close()
读取文件内容的方法还有
readline() #读取一行内容
readlines() #把内容按行读取至一个list中
(2)写文件
f = open(‘output.txt‘, ‘w‘)
‘w‘就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。
不加参数时,file为你默认为‘r‘,reading,只读模式,文件必须存在,否则引发异常。
另外还有一种模式是‘a‘,appending。它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。
data = ‘I will be in a file.\nSo cool!‘
out = open(‘output.txt‘, ‘w‘)
out.write(data)
out.close()
关于读写文件,还有一个关键字 open 用法与 file 一样。
21、异常处理
try:
f = file(‘non-exist.txt‘)
print ‘File opened!‘
f.close()
except as e:
print ‘File not exists.‘
print ‘Done‘
23、模块
通过函数,可以在程序里重用代码;通过模块,则可以重用别的程序中的代码。
模块可以理解为是一个包含了函数和变量的py文件。在你的程序中引入了某个模块,就可以使用其中的函数和变量。
import random
random.randint(1,10)
random.randchoice([1,4,7])
想知道random有哪些函数和变量,可以用dir()方法:
dir(random)
如果你只是用到random中的某一个函数或变量,也可以通过from...import...指明:
from math import pi
print pi
为了便于理解和避免冲突,你还可以给引入的方法换个名字:
from math import pi as math_pi
print math_pi
24、文件IO
- read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。
- readline() 每次只读取一行
- readlines()一次性读取文件所有行 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。
25、函数
python在定义函数时,不写self参数。但是在定义类中的函数时,按照编码风格,统一第一个参数为self。
def talk():
print(“I will have a talk”)
26、类
python的类在定义时,第一个函数相当于构造函数,__init__。
class A:
def __init__(self,para1):
self.para1 = para1
python的类在引用时,不需要进行实例化,可以直接引用其方法和成员变量:
a = class_name().method_name(para1,para2…)
27、单引号与双引号
Python中单引号与双引号是一样的。使用双引号的地方可以用单引号,反之亦然。
print(“Life is short!”)
print(‘Life is good!’)