python的控制语句
1 | x = input("x:") |
####### switch语句
switch语句容易造成代码不易维护,使源文件拥挤。面向对象程序设计,常常对switch语句进行重构,把switch语句分解成若干个类。当然对于分支流程简单的switch可以使用字典来实现,使用字典更加容易管理switch.
字典是键值对组成的集合,类似JAVA的HashTable
1 | # 使用字典实现switch |
循环语句
python循环语句包括while和for1
2
3
4
5
6
7####### while循环
numbers = raw_input("输入几个数字,以逗号分隔").split(",")
# 输入数字,赋值给numbers列表
x = 0
if x < len(numbers):
print numbers[x]
x+1 = x
1 | # 带else的while的循环语句 |
####### for循环
for循环用于遍历一个集合,依次访问集合中的每一个项目1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20for 变量 in 集合:
...
else:
...
# 集合可以是元组、列表、字典等数据结构
# 每次从集合中取出一个值并赋值给变量,else可以省略
'''
for循环通常与range()函数一起使用,range(开始,结束值,步长)返回一个列表
range(5,-1,-1) ->[5,4,3,2,1,0] 包前不包后
'''
# for in 语句
for x in range(-1,3,1):
if x > 0 :
print("正数",x)
elif x == 0 :
print("零",x)
else:
print("负数")
else:
print("函数结束")
python中没有for(x=2;x<15;x++)这种表达式,可以使用:x= 0
while x < 5:
print x
x + 1=x
####### break 和 continue
break: 直接中断循环
continue: 停止本次循环,进入下一次循环1
2
3
4
5
6
7
8
9
10x = 4
for y in range(0,20,):
if x != y:
print(y)
continue
else:
print(x)
break
# x不等于y,continue,进入下次循环
# x等于y,break中断循环,输入:0,1,2,3,4
介绍下xrange()函数:
xrange是一个类,返回一个xrange对象,`xrange(开始,结束值,步长)
xrange()进行遍历的时候 每次只返回一个值
range()返回的是列表 一次性计算并返回所有的值**,1
2
3
4
5# xrange()
x = xrange(0,8)
print x #输出xrange(8),这是一个xrange对象
print x[0] #输出 0
print x[7] #输出最后一个元素的值 输出结果为:7
####### xrange()实现的冒泡排序算法1
2
3
4
5
6
7
8
9
10
11def bubbleSort(numbers):
for j in range(len(numbers)-1,-1,-1):
for i in range(j):
if numbers[i] > numbers[i+1]: # 把数值小的放到顶端
numbers[i], numbers[i+1] = numbers[i+1], numbers[i]
print(numbers)
def main():
numbers = [23,12,9,15,6]
bubbleSort(numbers)
if __name__ == '__main__':
main()
Python文件的处理
数据的存储可以使用数据库(保持了数据完整性、关联性,数据更加安全可靠)和文件(简单易用,通常用于存储应用程序软件的参数和临时数据)
文件的基本操作
python提供os,os.path,shutil等模块用于处理文件用于处理文件,包括:
文件的创建、读写、修改和复制、删除和重命名
文件内容的搜索和替换
文件内容的比较
配置文集的读写,目录创建和遍历
文件和流
文件的打开和创建
python使用内联函数file()创建和打开文件, 返回一个file对象可以对文件进行各种操作
使用open()可以替换file(),open()是file()的别名1
2file(name, mode, buffering)
# name:被打开文件的名称,mode文件的打开模式,buffering设置缓存模式,0是无缓存,1表示行缓存,>1表示缓冲区的大小以字节为单位
模式名称 | 含义 |
---|---|
r | 以只读方式打开 |
r+ | 以读写方式打开 |
w | 以写入方式打开,先删除原有内容,再写入新的数据,如果文件不存在就创建一个新的文件 |
w+ | 以读写方式打开,先删除原有内容,再写入新的数据,如果文件不存在就创建一个新的文件 |
a | 以写入方式打开,在文件末尾增加新的内容,如果文件不存在就创建一个新的文件 |
a+ | 以读写方式打开,在文件末尾增加新的内容,如果文件不存在就创建一个新的文件 |
b | 以二进制方式打开文件,与r r+ w w+ a +结合使用 |
U | 支持所有换行符,\r \n \r\n |
对于图片,视频文件必须使用“b”(也就是二进制的方式读写)
file的常用属性和方法:
属性名称 | 方法 |
---|---|
Closed | 判断文件是否关闭,关闭返回True |
Mode | 显示文件的打开模式 |
Encoding | 显示文件的编码模式 print(f.Encoding) f是file对象 |
Newlines | 显示文件的换行模式 |
file(name,mode,buffering) | 以mode模式打开name文件 |
flush | 把缓存区内容写入磁盘 |
close | 关闭文件 |
read(5) | 读取文件中读取5个字节的内容作为字符串返回 |
readline() | 读取1行作为字符串返回,readlines(2)表示每行每次读取两个字节,直到行的末尾 |
readlines() | 读取每行的内容存储在列表中返回 |
seek(offset, whence) | 把文件指针移动到1个新的位置,offset是相对于whence的位置,whence为0从文件开始的位置计算,为1表示从当前位置计算,为2表示从文件末尾位置计算 |
tell() | 返回文件指针的位置 |
next() | 返回下一行的内容,并将文件的指针移动到下一行 |
truncate(size) | 删除size个字节的内容 |
write(str) | 将字符串str的内容写入文件 |
writelines(str) | 将字符串序列的内容写入文件 |