目录
python 代码格式
数据类型
流程控制
函数
文件与数据格式化
python 代码格式
注解
单行注解
单行注释以“#”开头,单行注释既可以单独占一行,也可以位于标识的代码之后,与标识的代码共占一行。
多行注解
多行注释是由三对双引号或单引号包裹的语句
缩进
Python代码的缩进可以通过Tab键控制,也可使用空格控制。空格是Python3首选的缩进方法,一般使用4个空格表示一级缩进;Python3不允许混合使用Tab和空格
语句换行
每行代码不超过79个字符,若代码过长应该换行。
标识符
标示符由字母、下划线和数字组成,且数字不能开头。
Python中的标识符是区分大小写。例如,andy 和Andy是不同的标识符。
Python中的标识符不能使用关键字
变量
变量 = 值
数据类型
数字类型(number)
| 整型(int):0 101 -239 False True |
| 浮点型(float): 3.1415 4.2E-10 -2.334E-9 |
| 复数类型(complex实部+虚部): 3.12+1.2.3j -1.23-93j |
| 布尔类型(bool): True False |
字符串类型(str)
字符串(str):一个由单引号、双引号或者三引号定义
转义字符
%格式化字符串
例:
打印字符串:
print ("She name is %s"%("八嘎"))
打印整数:
print ("He is %d years old"%(25895))
打印浮点数:
print ("His height is %2(小数位数)f m"%(1.89))
format()方法格式化字符串
通过 {} 和 : 来代替以前的 %
例:
Print("{1} {0} {1}".format("hello", "world"))
world hello world
列表(list):多个元素的集合,可以被修改 [“元素”,”元素”] 可变数据类型
列表基本用法
list = [] #定义一个空列表
list.append(1) #向列表中添加成员 也可以添加相同的值
list.count(2) #计算2在列表中出现的次数
list.extend([2, 3, 5, 4]) #向列表中添加一个列表
list.remove(5) #删除列表中的5
list.reverse() #颠倒列表的顺序 翻转
list.sort() #将列表中的成员重新排序 从小到大
list.insert(2, 6) #从0开始,也就是在第3个成员处插入6,其他成员顺次后移
list.index(5) #获得5在列表中的位置
del.list[2] #从0开始,删除列表第二个元素
元组(tuple):与列表的作用相似,不可以被修改 (“元素”,”元素”)
元组基本用法
跟列表差不多
元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,)
元组之间可以使用 + 号和 * 号进行运算
| len((1, 2, 3)) | 3 | 计算元素个数 |
| (1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
| ('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
| 3 in (1, 2, 3) | True | 元素是否存在 |
| for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
元素索引 从0开始
例:
tuple_1 = ('a','b','c','d','e','f','g','h')
print(tuple_1[0])
a
当索引为负数时,-1表示最右端元素,从右向左依次递减
print(tuple_1[-1]) h
切片截取 不包含end
例:
tuple_1 = (1,2,3,4,5,6,7,8,9,10) print(tuple_1[::]) (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) print(tuple_1[2:8]) (3, 4, 5, 6, 7, 8)
集合(set):与列表和元组类似,无序且唯一 {“元素”,”元素”} 可变数据类型
集合基本用法
跟列表差不多
与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。
s.add('x') # 添加一项
s.update([10,37,42]) # 在s中添加多项
s.remove('H') #remove()可以删除一项
s.clear() #删除 set中的所有元素
字典(dict):元素是“键(Key):值(Value)”形式的键值对,键值对不重复。d = {key1 : value1, key2 : value2 } 可变数据类型
字典基本用法
访问:tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print (tinydict['Name']) #Zara
修改:tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
删除:del tinydict['Name'] # 删除是'Name'的键
不允许同一个键出现两次。同一个键被赋值两次,后一个值会被记住
键必须不可变,所以可以用数字,字符串或元组充当,列表就不行
变量的输入与输出
输入:input 输出: prompt
input(“输入”)
print()函数,可以输出任何类型的数据,其语法格式如下所示:
print(“你想打印的”)
运算符
算术运算符:包括+、-、*、/、//、%和**,以操作数a = 2,b = 8为例对算术运算符进行使用说明。
赋值运算符:赋值运算符同时具备运算和赋值两项功能。以变量num为例对赋值运算符进行使用说明。
比较运算符:也叫关系运算符,用于比较两个数值,判断它们之间的关系。
逻辑运算符:与或非
流程控制
条件语句
If 语句
单个判断条件 if-else
if 判断条件: 执行语句…… else: 执行语句……
多个判断条件 if-elif-else
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3… else: 执行语句4……
循环语句
for语句
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
break语句:结束循环,若循环中使用了break语句,程序执行到break语句时会结束循环。
continue语句:continue语句用于在满足条件的情况下跳出本次循环。结束当前循环进入下一个循环
While语句
while 判断条件(): 执行语句()……
函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
定义函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数。
调用函数
def printme( str ):
#"打印任何传入的字符串"
print str
return
#调用printme函数
printme()
函数参数的传递
函数的参数传递是指将实际参数传递给形式参数的过程
形参:函数定义时括号内的参数
实参:函数调用时括号内的参数
位置参数
位置形参:函数定义时,从左往右写的参数,比如 def func(a, b, c)
位置实参:函数调用时,从左往右写的参数, 比如 func(1, 2, 3)
位置形参定义多少个,调用时位置实参必须写上多少个
关键参数
指定参数名的参数,就叫做关键参数,比如 func(3,a=1, b=2)
关键参数必须在位置参数的后面
默认参数
给参数名指定值的时候,这个参数叫做默认参数,比如 def func(a, b=100):
动态参数:*args **kwargs
def func(a, b, *args):
func(1, 2, 3, 4, 5, 6) 函数调用
a为1, b为2, *args 为: (3, 4, 5, 6),是一个元组
def func(**kwargs):
func(a=1,b=2,c=3) 函数调用
{'a':1, 'b':2, 'c':3}
函数的返回值
查找return用法
变量作用域
全局变量:函数外
局部变量:函数里
文件与数据格式化
文件标识的组成:文件路径、文件名主干、文件扩展名
读文件
使用Python内置的open()函数,传入文件名和标示符。标示符'r'表示读。如果文件不存在,open()函数就会抛出一个IOError的错误。
open(file, mode(可选)='r')
完整语句
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Mode 参数
| 打开模式 | 名称 | 描述 |
| r/rb | 只读模式 | 以只读的形式打开文本文件/二进制文件,若文件不存在或无法找到,文件打开失败 |
| w/wb | 只写模式 | 以只写的形式打开文本文件/二进制文件,若文件已存在,则重写文件,否则创建新文件 |
| a/ab | 追加模式 | 以只写的形式打开文本文件/二进制文件,只允许在该文件末尾追加数据,若文件不存在,则创建新文件 |
| r+/rb+ | 读取(更新)模式 | 以读/写的形式打开文本文件/二进制文件,若文件不存在,文件打开失败 |
| w+/wb+ | 写入(更新)模式 | 以读/写的形式打开文本文件/二进制文件,若文件已存在,则重写文件 |
| a+/ab+ | 追加(更新)模式 | 以读/写的形式打开文本/二进制文件,只允许在文件末尾添加数据,若文件不存在,则创建新文件 |
file文件
| 1 | file.close() 关闭文件。关闭后文件不能再进行读写操作。 |
| 2 | file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
| 3 | file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
| 4 | file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。 |
| 5 | file.next() 返回文件下一行。 |
| 6 | file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
| 7 | file.readline([size]) 读取整行,包括 "n" 字符。 |
| 8 | file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 |
| 9 | file.seek(offset[, whence]) 设置文件当前位置 |
| 10 | file.tell() 返回文件当前位置。 |
| 11 | file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。 |
| 12 | file.write(str) 将字符串写入文件,返回的是写入的字符长度。 |
| 13 | file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
写文件
调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件。可以反复调用write()来写入文件。
关文件
调用f.close()来关闭文件
使用with语句
管理文件与目录
删除文件——os.remove(文件名)
文件重命名——os.rename(原文件名,新文件名)
创建/删除目录——os.mkdir(目录名)/os.rmdir(目录名)
获取当前目录——os.getcwd()
更改默认目录——os.chdir(路径名)
获取目录列表——os.listdir(目录/路径)



