Week 6 strings and Text files
基础的东西就不说了,就记一下我觉得值得敲一下的东西吧。
1.将print后的默认换行操作自定义修改
例:
string = "whh"
for letter in string:
print (letter)
运行结果:
w
h
h
这里print 后的默认操作是换行,现在我们把他修改为空操作符:
string = "whh"
for letter in string:
print (letter,end='')
运行结果:
whh
注意:这个是在原有的操作的基础上将print后的换行操作改为end后的自定义操作,不要以为只要用了end=‘’就可以只输出一行了
例如:
string = 'whh\nwhh'
print (string,end='')
运行结果:
whh
whh
解析:
这个换行是在string里面的(\n),end = ''只是将输出string之后的换行操作给改为空操作了
2.获取字符串的一部分
例:
string = "please love this world"
print (string[0:6])
print (string[0:])
print (string[7:9])
print (string[:9])
运行结果:
please
please love this world
lo
please lo
解析:
- 对于string[a:b]来说,a和b都表示字符的位置,他们都是从0开始计数的。整体的意义是输出string字符串中的第 个字符到第 个字符。即不包括第 个字符,是左开右闭的。
- 如果没有 则默认从头开始
- 如果没有 则默认一直到结尾
3.改变字符大小写
例:
string = "please love this WORLD"
print (string.upper())
print (string)
print (string.lower())
运行结果:
PLEASE LOVE THIS WORLD
please love this WORLD
please love this world
解析:
- 有了这个就可以解决if判断时讨论大小写的烦恼了。
- 使用 变量名.upper()并没有给变变量本身的大小写。
4.list列表数据类型
Python有6个序列的内置类型,但最常见的是列表和元组。列表的数据项不需要具有相同的类型。
例 1 :
string = ['whh',1,1.05]
print(string)
运行结果:
['whh', 1, 1.05]
例 2 :
string = ['whh',1,1.05]
print(string[0])
print(string[1])
运行结果:
whh
1
解析:
列表可以单独输出其中的某一个元素
5.Python split() 通过指定分隔符对字符串进行切片将其转化为list型
str.split( str , num )
- 这里的str用来描述分隔符,即告诉函数哪里应该进行切片。如果没有写则默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num用来描述分割次数,如果没写则默认为 -1, 即分隔所有。
例 1 :
string = 'Hello wo\nr\tld'
print (string.split())
运行结果:
['Hello', 'wo', 'r', 'ld']
例 2 :
string = "Hello wor ld"
print(string.split(" ",1))
运行结果:
['Hello', 'wor ld']
例 3 :
string = "He-llo-wor-ld"
print(string.split("-",3))
运行结果:
['He', 'llo', 'wor', 'ld']
6.一些可能不经常用的杂函数
例 1 :
这里像什么判断数据类型输出bool值,输出首尾字符,判断首尾字符……在变量后面打一个点系统会自动显示的。如图:
例 2 :
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
string = ["He","llo"," ","world"]
print (''.join(string))
print ('-'.join(string))
运行结果:
Hello world
He-llo- -world
7.用Python代码建立txt文档
例 1 :
f = open('whh.txt','w')
f.write("This is a line\n2")
f.close()
注意:
- 建立一个新文档不能用r(读),否则会报错No such file or directory。因为最开始就没有这个文档所以无法读取
- 为了使文档安全,操作完毕后要关闭文档即f.close()
8.分别用for和while去一行一行的读取文档
for:
f = open('whh.txt','w')
for num in range(5):
f.write('line number'+str(num+1)+'\n')
f.close()
f = open('whh.txt','r')
for line in f:
print(line,end='')
运行结果:
line number1
line number2
line number3
line number4
line number5
while:
f = open('whh.txt','w')
for num in range(5):
f.write('line number'+str(num+1)+'\n')
f.close()
f = open('whh.txt','r')
while True:
line = f.readline()
if line == '':
break
print (line,end='')
运行结果:
line number1
line number2
line number3
line number4
line number5