一、注释的方法
(1)#这是一条注释
(2)'''
这是一条注释
这也是一条注释
这还是一条注释
'''
二、变量的基本操作符
x=7,y=5
(1)x//y=1(向最近的整数向下取整)
(2)x/y=1.4(除法)
(3)x**y=16807(指数运算:7的5次方)
三、字符串
字符串表示的是文本。
(1)声明字符串
variableName=’initial value‘,
variableName=“initial value”,
(2)用连接符号(+)来连接多个子字符串。
(3)内建的字符串函数:
1、count(sub,[start,[end]])
返回子字符串sub在字符串中出现的次数,大小写敏感。
例:
#计算索引4到10-1的位置(空格也算一个字符)
’This is a string‘.count('s',4,10)
==>1
2、endwith(suffix,[start,[end]])/startwith(prefix,[,start[,end]])
如果字符串以制定的后缀suffix结尾/以前缀prefix开始,返回True,否则返回False。
后缀suffix也可以是要寻找的多个后缀的元组。
这个函数大小写敏感。
例:
#检查索引2到6-1的位置
’Postman‘.endwith('man',2,6)
==>False
#检查索引2到7-1的位置
'Postman'.endwith('man',2,7)
#使用一个后缀的元组(从索引2到6-1的位置检查)
'Postman'.endwith(('man','ma'),2,6)
3、find/index(sub,[start[end]])
返回字符串中子字符串sub首次出现的索引位置。
find()在无法找到sub时返回-1.
index()在无法找到sub时返回ValueError。
函数大小写敏感。
例:
'This is a string'.find('p')
==>-1
4、isalnum()
如果字符串中的所有字符都是子母和数字,并最少存在一个字符,则返回True,否则返回False。
数字和字母不包括空格。
例:
'abcd1234'.isalnum()
==>True
'a b c d'.isalnum()
==>False
5、isalpha()/isdigit()/islower()/isupper()
如果字符串中的所有字符都是字母/数字/小写形式/大写形式,并且最少有一个字符,则返回True,否则返回False。
6、isspace()
如果字符串中的字符只是空格,并且只有一个字符,返回True,否则返回False。
例:
''.isspace()
==>False
' '.isspace()
==>True
' '.isspace()
==>True
7、join()
使用分隔符把提供的参数连接成一个字符串并返回。
例:
sep='-'
myTuple=('a','b','c')
myList=['d','e'.'f']
myString="Hello World"
sep.join(myTuple)
==>'a-b-c'
sep.join(myList)
==>'d-e-f'
sep.join(myList)
==>'H-e-l-l-o- -W-o-r-l-d"
8、lower()
复制一份字符串,并把该字符中的字符转换为小写形式。
9、replace(old,new[,count])
复制一份字符串,把该字符串中出现的所有old字符串替换为new字符串。
count参数是可选的。如果提供了该选项,则仅仅前面count次数出现的字符串会被替换。
#替换前两次出现的字符串
'This is a string'.replace('s','p',2)
==>'Thip ip a string'
10、split(sep,[,maxsplit])
使用sep作为界定字符串,把字符串分割,返回一个单词的列表。
sep和maxsplit是可选项。
如果sep没有指定,界定字符为空格。
例:
'This, is, a, string'.split(',',2)
==>['This',' is',' a',' string']
11、strip([chars])
复制一个字符串,返回该字符串首尾位置移除字符串char的结果。
如果没有字符串,空格将会被移除。
例:
#移除空格
' This is a string '.strip()
==>'This is a string'
#移除“s”。因为“s”并不在字符串的首尾出现,所以没有移除任何字符
'This is a string'.strip('s')
==>'This is a stirng'
#移除’g‘。
'This is a string'.strip('g')
==>'This is a strin'
(4)用操作符%来格式化字符串
brand='apple'
exchangeRate=1.234
message='The price of this %s laptop is %d USD and the exchange retw is %4,2f USD to 1 EUR' %(brand,1299,exchangeRate)
print(message)
==>The price of this apple laptop is 1299 USD and the exchange rate is 1.23 USD to 1 EUR
(%4.2f表示4为总长度,2标识小数位,若想在前面加空格%7.2f)
(5)使用format()方法格式化字符串
四、引入模块
1、通过import medulename把整个模块引入到程序中
import random
random.random(1,10)
2、import random as r
r.random(1,10)
3、从模块中引入特定的函数
from random import randrange,randint
randrange(1,10) (直接使用)
五、创建模块
把文件以.py的扩展名保存,并把他放到你想要从中引入的Python文件的同一个文件夹内。
若不在一个文件夹,a.py调用b.py,b.py存储在c盘MyPython里,在a文件中加入如下代码
import sys
if 'C:\\MyPython' not in sys.path
sys.path.append('C:\\MyPython')
a.py文件可以放在任意位置。
六、处理文件
但程序需要处理大量数据的情况下,更加方便的方式是把需要的信息预先保存到一个外部的文件中,并让我们的程序从这个文件中读取信息。
文本文件myFile.txt
fileOperation.py
f=open('myFile.txt','r') #打开了文件
firstline=f.readline()
secondline=f.readline()
print(firstline)
print(secondline)
f.close()
open()函数
需要两个参数。
第一个参数是文件的路径,如果fileOperation.py和myFile.txt没有放在一个目录下,就把“myFile.txt”替换成真是保存文件的路径。如“C:\\pythonFiles\\myFile.txt”(需要双反斜杠)。
第二个参数是模式。指定文件用什么方式打开。
r模式:只读。
w模式:只写。如果指定的文件不存在,将被创建。若指定的文件已经存在,文件中任何已有的数据都将被擦除。
a模式:用于添加。如果指定的文件不存在,将被创建。若存在,任何写入文件的数据将自动添加到文件的末尾。
r+模式:用于读写。
readline()函数
从文件中读取新的一行。
会在每行的末尾自动添加‘\n’符号。如果不想在每行文字间输出多余的一行,print(firstline,end' ')。
close()函数
将文件关闭,释放对应资源。
使用for循环来读取文本文件
f=open('myFile.txt','r')
for line in f:
print (line,end=' ')
f.close()
写入文本文件
f=open('myFile','a')
f.write('\nPython is fun!')
f.close()
通过缓冲大小来打开并读取文本文件
通过缓冲大小来读取文件,这样程序不会使用太多的内存资源。使用read()函数(不是readline())。它可以让我们指定我们想要的缓冲的大小。
inputFile=open('myFile.txt','r')
outputFile=open('myoutputFile','w')
msg=inputFile.read(10)
while len(msg):
outputFile.write(msg)
msg=inputFile.read(10)
inputFile.close()
outputFile.close()
打开、读取并写入二进制文件
二进制文件表示的是任何包含非文字的文件,比如图像或者视频文件。rb或wb模式。
inputFile=open('myimage.jpg','rb')
outpitFile=oprn('myoutputimage.jpg','wb')
删除和重命名文件
remove(filename)----remove('myFile.txt')
rename(oldname,new name)---rename('oldfile.txt','newfile.txt')
七、Python中的类型转换
有三个内建函数可以让我们进行类型转换。int()、float()和str()。
int()函数接受一个浮点型或者合适的字符串。int(5.134324)=5。int("4")=4。不能输入int("hello")或int("4.38749"),会报错。
float()函数接受一个整型或合适的字符串。float(2)/float("2")得到2.0。如果输入float("2.038979")得到2.038979,是一个浮点类型,不是字符串。
sre()函数接受一个浮点数或一个整形数。str(2.1)得到“2.1”.
八、列表
列表通常表示相关数据的集合。
一个列表基本操作
listname=[initial values]
实例:userage=[21,22,23,45,24,25] 或listname=[]
列表中的单个值可以通过索引获取。
可以从后面获取列表的值,列表的最后一个元素的索引是-1.倒数第二个索引是-2.
切片:
它总是包括开始索引的元素,但不包括结尾索引的元素。
userage2=userage[2:4]
userage2=[23,45]
切片符号包含第三个数字,叫步长。
userage4=userage[1:5:2]
userage4=[22,45]
切片的默认选项:
默认的第一个数字是0,默认的第二个数字是要切片的列表的长度
修改元素:
userage[1]=5
添加元素:append()
userage.append(99)
删除元素:
del userage[2]
连接两个列表:extend()
myList=[1,2,3,4]
myList2=['a','b','c','d']
myList.extend(myList2)
print(myList)
==>[1,2,3,4,'a','b','c','d']
检查列表中是否存在某个元素:in
myList=['a','b','c','s']
'a' in myList
==>True
在列表指定位置添加元素:insert()
myList=[1,2,3,4,"hello"]
myList.insert(1,9)
print(myList)
==>[1, 9, 2, 3, 4, 'hello']
得到列表元素个数:len()
print(len(myList))
==>6
得到列表中一元素的值,并将它移除:pop()
mmember=myList.pop(2)
print(mmember)
==>2
mmember=myList.pop()
print(mmember)
==>hello
从列表中移除一个元素,以这个元素的值为参数
myList.remove(1)
print(myList)
==>[9, 3, 4]
逆序列表中的元素:reserve()
以字母或数字的顺序排列一个列表(只能全数字或全字母):sort()
myList=[3,5,1,7]
myList.sort()
print(myList)
==>[1,3,5,7]
返回一个新的排序后的列表,不排序原来的列表,需要一个列表做参数。
myList=[3,5,1,7]
myList2=sorted(myList)
print(myList)
==>[3,5,1,7]
print(myList2)
==>[1,3,5,7]
连接列表:+
复制列表,并把它从原列表的尾部连接
myList=[1,2,3,4]
print(myList*3)
==>[1,2,3,4,1,2,3,4,1,2,3,4]
九、元组
元组和列表很相像,但无法改变元组的值。它的初始值将在后面的程序中保持不变。
声明元组:
使用圆括号(),多个值用,分隔。
删除整个元组:del
myTuple=('a','b','c','d')
del myTuple
print(myTuple)
==>SyntaxError: Missing parentheses in call to 'print'
in/len()/+/* 用法同list
十、字典
字典是相关数据对的一个集合。
声明一个字典:
1、directoryName={dictionarykey:data}关键字必须唯一
myDictionary={"peter":38,"John":10}
2、userNameAndAge=dict(Peter=38,John=10)
获取字典中的单个元素,使用关键字
userNameAndAge["John"]
修改/添加字典中的元素:
userNameAndAge["John"]=21
删除字典中的元素:
del userNameAndAge["John"]
移除字典中所有元素返回一个空的字典:clear()
dic1.clear()
print(dic1)
==>{}
以元组形式返回字典对的列表:items()
dic1={1:'one',2:'two'}
dic1.items()
==>dict_items([(1, 'one'), (2, 'two')])
返回字典关键字/值的列表:keys()/values()
dic1.keys()
==>dict_keys([1, 2])
dic1.values()
dict_values(['one', 'two'])
将一个字典的关键字-值添加到另一个字典中:update()