文章目录
- 前言
- 1 基本操作
- 查看版本 python -V
- 头部引用 #!/usr/bin/python3
- 指定编码 `# coding=utf-8` or `# -*- coding: UTF-8 -*-`
- 关键字集 `import keyword; print(keyword.kwlist)`
- 长句分行 s1 + \
- 2 数据类型
- 不变类型 Number、String、Tuple
- 可变类型 List、Set、Dictionary
- Number:int、float、bool、complex
- 数据类型转换 int(s), float(s), str(v)
- 多项赋值 a, b, c, d = 20, 5.5, True, 4+3j
- 查看类型 print(type(a), type(b), type(c), type(d))
- 判断类型 isinstance(a, int)
- 删除变量 del var_a, var_b
- 四则运算实例(加减乘除取余等)
- 字符串操作集合
- List 常用操作
- Tuple 常用操作
- 字典常用操作
- Set常用操作
- 字符串格式
- 时间日期
- from datetime import datetime, timedelta
- datetime:用于日期时间,datetime(year, month, day, hour, minute, second, microsecond)
- timedelta: 用于时间差,timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)
- 时间转字符串:dt1.strftime(format)
- 字符串转时间:dt1 = strftime(dtstr, format)
- datetime.today() or now()
- 3 输出输入
- 输入语句 a = input("Please input a string: ")
- 格式输出 print('value = ', 10)
- 同行输出 print(x, end='\t' )
- 参数列表 import sys; print(sys.argv)
- 4 IO
- 控制语句
前言
对于使用其他语言的Python初学者,在使用Python时经常需要查阅相关资料。为了简化这个过程,特整理此文,以简化查阅过程。
注:以下资料来部分自于 https://www.runoob.com/python3.
1 基本操作
查看版本 python -V
头部引用 #!/usr/bin/python3
指定编码 # coding=utf-8
or # -*- coding: UTF-8 -*-
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # coding=utf-8
or # -*- coding: UTF-8 -*-
就行了
-*- coding: cp-1252 -*-
指定源码文件ocp-1252编码
注:Python2默认为ASCII,不支持中文,但是3源码文件默认UTF-8 编码,所有字符串都是 unicode 字符串
关键字集 import keyword; print(keyword.kwlist)
长句分行 s1 + \
total = item_one +
item_two +
item_three
2 数据类型
不变类型 Number、String、Tuple
可变类型 List、Set、Dictionary
Number:int、float、bool、complex
数据类型转换 int(s), float(s), str(v)
多项赋值 a, b, c, d = 20, 5.5, True, 4+3j
查看类型 print(type(a), type(b), type©, type(d))
输出为:<class ‘int’> <class ‘float’> <class ‘bool’> <class ‘complex’>
判断类型 isinstance(a, int)
isinstance 和 type 的区别在于:isinstance()会认为子类是一种父类类型,而type()不会。
删除变量 del var_a, var_b
四则运算实例(加减乘除取余等)
>>> 5 + 4 # 9
>>> 4.3 - 2 # 2.3
>>> 3 * 7 # 21
>>> 4 / 3 # 1.33333
>>> 4 // 3 # 1
>>> 17 % 3 # 2
>>> 2 ** 5 # 32
字符串操作集合
索引值以 0 为开始值,-1 为从末尾的开始位置。±–±--±–±--±–
--------- 索 引 --------
-6 -5 -4 -3 -2 -1
0 1 2 3 4 5
+---+---+---+---+---+---+
| R | u | n | o | o | b |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1 0
--------- 截 取 ---------
+
是字符串的连接符;
*
表示复制当前字符串,紧跟的数字为复制的次数。
str = 'Runoob'
print(str) # Runoob
print(str[0]) # R 索引操作
print(str[4]) # o 索引操作
print(str[-1]) # b 索引操作
print(str[0:-1]) # Runoo 截取操作
print(str[2:5]) # noo 截取操作
print(str[2:]) # noob 截取操作
print(str * 2) # RunoobRunoob
print(str + '你好') # Runoob你好
更多字符串操作参见以下两篇文章:字符串基本知识 和 string.format()函数。
List 常用操作
a = [1, 2, 3, 4, 5]
a[0] = 0 # [0, 2, 3, 4, 5]
a[2:3] = [20,30] # [0, 2, 20, 30, 5]
a[0,4,2] # [0, 20, 5]
a[1:2] = [] # [0, 30, 5]
list = [] # 空列表
list.append('Tom') # 使用 append() 添加元素
list.append('Jack') #
print(list) # 显示内容为:['Tom', 'Jack']
del list[1] # 删除指定索引的元素,删除后内容为 ['Tom']
list = ['x' + str(i) for i in range(0, 3)] # 内容为 ['x0', 'x1', 'x2']
len(list) # 求长度,结果为 3
'x3' in list # 返回 False
List常用操作函数
- list.append(obj) 在列表末尾添加新的对象
- list.count(obj) 统计某个元素在列表中出现的次数
- list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
- list.insert(index, obj) 将对象插入列表
- list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- list.remove(obj) 移除列表中某个值的第一个匹配项
- list.reverse() 反向列表中元素
- list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
Tuple 常用操作
string、list 和 tuple 都属于 sequence(序列),有以下注意事项。
- 与字符串一样,元组的元素不能修改。
- 元组也可以被索引和切片,方法一样。
- 注意构造包含 0 或 1 个元素的元组的特殊语法规则。
- 元组也可以使用+操作符进行拼接。
Tuple 操作示例
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # ('abcd', 786, 2.23, 'runoob', 70.2)
print (tuple[0]) # abcd
print (tuple[1:3]) # (786, 2.23)
print (tuple[2:]) # (2.23, 'runoob', 70.2)
print (tinytuple * 2) # (123, 'runoob', 123, 'runoob')
print (tuple + tinytuple) # ('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
字典常用操作
- 初始化 dic = {}
- key值
- 要求:数字,字符串或元组充当,所以用列表就不行
- 是否有key, key in dic 或 dic.has_key(key)
- 访问
- 所有键:dict.keys()
- 指定键的值:dic[key]
- 所有值:dict.items()
- 添加 dic[key],key 不存在时则添加
- 修改 dic[key] = value
- 删除
- del dic[‘Name’] # 删除单个指定元素
- dic.clear() # 清所有元素
- del dic # 删除字典
Set常用操作
student = set() # 空集合,注意不能使用{},因为已经被字典占用
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
print( 'Found.' if 'Rose' in student else 'Not found.' # 成员测试
# Set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a - b) # a 和 b 的差集 {'b', 'd', 'r'}
print(a | b) # a 和 b 的并集 {'l', 'm', 'z', 'a', 'r', 'c', 'd', 'b'}
print(a & b) # a 和 b 的交集 {'c', 'a'}
print(a ^ b) # a 和 b 非共同元素,即 (a | b) - (a & b) {'l', 'd', 'm', 'z', 'b', 'r'}
字符串格式
‘{:0>2d’} 2位整数如
f’{a}’ 等同于C#中的$""
时间日期
from datetime import datetime, timedelta
datetime:用于日期时间,datetime(year, month, day, hour, minute, second, microsecond)
timedelta: 用于时间差,timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)
时间转字符串:dt1.strftime(format)
字符串转时间:dt1 = strftime(dtstr, format)
datetime.today() or now()
3 输出输入
输入语句 a = input("Please input a string: ")
格式输出 print('value = ', 10)
同行输出 print(x, end=’\t’ )
参数列表 import sys; print(sys.argv)
4 IO
读取文本文件所有行
def readLines(filepath, code='utf-8'):
lines = []
with open(filepath, 'r', encoding = code) as f:
lines = f.readlines()
return lines
文件读写完整语法
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener:
更详细说明参考Runoob文章: 文件读写语法 和 Python 文件I/O。
控制语句
if True:
print (“True”)
else:
print (“False”)