仓库源文站点原文


title: 一些 Python 基础知识 tags:


整理一些学习 Python 过程中遇到的一些知识。

<!--more-->

标识符

标识符的命名规则:

关键字

False、def、if、raise、None、del、import、return、True、elif、in、try、and、else、is、lambda、with、as、except、while、assert、finally、nonlocal、yield、break、for、not、class、from、or、continue、global、pass

位运算符

运算符 名称 例子
~ 位反 ~x
& 位与 x&y
| 位或 x|y
^ 位异或 x^y
>> 右移 x << a x 右移 a 位,高位用符号补位
<< 左移 x << a x 左移 a 位,低位用 0 补位

运算符优先级:算术运算符>位运算符>关系运算符>逻辑运算符>赋值运算符

容器类型数据

字符串

切片 [start: end :step]

str.split(sep=None, maxsplit=1)

查找字符串

str.fing(sub[, start[, end]]) 在 start 和 end 之间查找子字符串 sub

str.find('i',4,6) 在 4,6 位置之间查找 i,4、6 可以省略

列表

方法 用法
append(x) 末尾追加一个元素
extend(x) 末尾追加多个元素
insert(i,x) 在 i 位置插入元素 x
list[1]=80 将列表 list 中的元素 1 替换为 80
remove(x) 删除元素 x

元组

元组不可更改

方法 用法
tuple(item) 创建元组,item 可以是字符串、列表、元组、集合、字典等
/ 直接使用 () 将元素括起来便可直接创建元组
/ 使用变量分别对应元素内的每个元素便可拆包,元素被赋值给变量

集合

集合可迭代、无序、不能包含重复元素

方法 用法
set(item) 创建集合,item 是可迭代对象字符串、列表、元素、集合、字典等
/ 直接使用{}将元素括起来便可直接创建集合
add(x) 添加元素
remove(x) 删除元素
clear() 清除集合

字典

字典可迭代,通过键来访问元素

方法 用法
dict(item) 创建字典
/ {key1:value1,key2:value2,....}直接创建字典
items() 返回字典的所有键值对
keys() 返回字典的键
values() 返回字典的值

转义字符

字符表示 Unicode 编码 说明
\t \u0009 水平制表符
\n \u000a 换行
\r \u000d 回车
\" \u0022 双引号
\' \u0027 单引号
\\ \u005c 反斜线

format 格式化

占位符

eg:

a = 1
b = 2
abc = '{}{}'.format(a,b) # abc=12
print(abc)

{}为占位符

控制符

控制符 说明
s 字符串
d 十进制整数
f、F 十进制浮点数
g、G 十进制整数或浮点数
e、E 科学计数法表示浮点数
o 八进制整数
x、X 十六进制整数,x 为小写表示,X 为大写表示

使用方法

a = int(1)
b = int(2)
abc = '{:g}{}'.format(a,b) # abc=12
print(abc)

异常处理

# 异常捕获与资源释放
i = input('请输入数字')
n = 8888
try:
    result = n / int(i)
    print(result)
    print('{0}除以{1}等于{2}'.format(n, i, result))
except ZeroDivisionError as e:
    print("不能处理 0,异常:{}".format(e))
except ValueError as e:
    print("输入的数字是无效数字,异常:{}".format(e))
finally:
    print("资源释放 ...")
# try-except 语句嵌套
i = input('请输入数字')
n = 8888
try:
    i2 = int(i)
    try:
        result = n / i2
        print('{0}除以{1}等于{2}'.format(n, i2, result))
    except ZeroDivisionError as e1:
        print("不能处理 0,异常:{}".format(e1))
except ValueError as e2:
    print("输入的数字是无效数字,异常:{}".format(e2))
finally:
    print("资源释放 ...")
# 手动触发异常
class ChufaException(Exception):
    def __init__(self, message): 
        super().__init__(message)

# 异常捕获与资源释放
i = input('请输入数字')
n = 8888
try:
    result = n / int(i)
    print(result)
    print('{0}除以{1}等于{2}'.format(n, i, result))
except ZeroDivisionError as e:
    raise ChufaException('不能除以 0')
except ValueError as e:
    raise ChufaException('输入的是无效数字')
finally:
    print("资源释放 ...")

数学计算模块

# 数学计算模块
import math
print(math.ceil(10.332)) # 返回大于或等于 x 的最小整数
print(math.floor(21.4654)) # 返回小于或等于 x 的最小整数
print(math.sqrt(4))  # 返回平方根
print(pow(10, 3)) # 返回 10 的三次方
print(math.log(10, 3)) # 求对数
print(math.sin(30)) # 返回弧度的三角正弦
print(math.degrees(120)) # 将弧度转换为角度
print(math.radians(30)) # 将角度转换为弧度