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 | 反斜线 |
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)) # 将角度转换为弧度