Python 的一些常用表达式简要说明(2020/01/15更新)

前言

对于使用其他语言的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常用操作函数

  1. list.append(obj) 在列表末尾添加新的对象
  2. list.count(obj) 统计某个元素在列表中出现的次数
  3. list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
  4. list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
  5. list.insert(index, obj) 将对象插入列表
  6. list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  7. list.remove(obj) 移除列表中某个值的第一个匹配项
  8. list.reverse() 反向列表中元素
  9. list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

Tuple 常用操作

string、list 和 tuple 都属于 sequence(序列),有以下注意事项。

  1. 与字符串一样,元组的元素不能修改。
  2. 元组也可以被索引和切片,方法一样。
  3. 注意构造包含 0 或 1 个元素的元组的特殊语法规则。
  4. 元组也可以使用+操作符进行拼接。

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位整数如 1 01 1 \rightarrow 01

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”)

发布了326 篇原创文章 · 获赞 94 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_43145361/article/details/103091856