学习笔记:Python中的变量、类型

本文详细介绍了Python的基础知识,包括变量的创建与命名规则,各种数据类型的特性,如整型、浮点型、字符串、列表、字典、元组和集合的使用,以及文件操作。此外,还涵盖了操作符、字符串操作、列表和字典的常用函数,以及布尔值和空值None。内容深入浅出,适合Python初学者学习。

时间:2021年7月14日
作者:Afollower
分类: 学习记录/Python基础/

1. 变量

1. 创建

在第一次赋值时生成

命名规则
  1. 包含字母、数字、下划线
  2. 只能以字母和下划线开头
  3. 不能有空格
  4. 避免Python关键字或函数名
  5. 简短且有描述性
  6. 注意区分相识值:1 ,l ,I, O,0等
  7. 私有变量:在名称前添加下划线 ‘_’
  8. 保护变量,用于继承:在名称前添加 ‘__’
  9. 在for循环中,不需要使用的变量,可以使用 ‘_’,如 for _ in range(test):

2. 类型

变量无类型约束,类型取决于被赋予的值的对象

3. 交换变量值

  1. 通过中间变量
  2. a, b = b, a

2. 对象类型

2.1 整型

2.1.1 类别
#int
intA = 10

#float
floatA = 10.0

Decimal
Fraction
2.1.2 整形比较
符号说明
‘>’/’<’大于/小于
==等于
‘>=’/’<=’大于等于/小于等于
!=不等于
2.1.3 运算
符号说明
+
-
*
/
**
2.1.4 运算取整
  1. math函数:
#floor: 向左取整 
math.floor(a/b)
#trunc: 向下取整 
math.trunc(a/b)
  1. round: 四舍五入
    round(a/b, x) # 保留x位小数
2.1.5 进制转换
  1. 基础函数
  • bin() 二进制 0b
  • oct() 八进制 0o
  • hex() 十六进制 0x
  • chr() int-> ascii
  • ord() ascii -> int
  • int(str, num) -> 将num进制的str转换为10进制
  1. binascii模块:
    包含很多在二进制和ASCII编码的二进制表示转换的方法
import binascii

a = b'worker'
b = binascii.b2a_hex(a)
c = binascii.a2b_hex(b)
d = binascii.hexlify(c)
e = binascii.unhexlify(d)
print(a, b, c, d, e)
输出:
b'worker' b'776f726b6572' b'worker' b'776f726b6572' b'worker'

2.2 字符型

2.2.1 声明
str = ''
str = "" 
str = """ """
#特殊-三引号:多行注释,原格式打印输出文本
2.2.2 转义符
'\'		#添加\避免转义
r''		#忽略转义
2.2.3 字符串操作
replace()	#替换
split()		#切割
strip()		#去除两端的空格 \n等
find()		#查找
2.2.4 正则表达式

2.3 列表list

2.3.1 创建
aList = list()
aList = []
aList = [i for i in range(n)]	#推导式
2.3.2 常用函数
append(obj)		#追加单个 extend(obj) 追加一个序列
count(obj) 		#统计对象出现次数
remove(obj) 	#移除匹配的第一个元素, pop()移除最后一个元素
reverse() 		#反向列表元素
sort() 			#列表排序
clear() 		#清空
copy() 			#复制列表【深克隆】
sum()			#统计求和
max() min() len(list) list(tuple)	#最大值、最小值、列表长度、将元组转换为列表
2.3.3 排序
sorted(arr:list, reverse=True)		#排序,并返回排序后的列表
sort(arr: lsit)		# 排序,在原list基础上排序

2.4 字典dict

2.4.1.创建
aDict = {}
aDict = dict()
aDict = {x: y(k) for k in seq}	#推导式
aDict[key] = value	#新增键值对,键值对存在就修改
2.4.2 常用函数
——————通过已有方式新建字典——————
1. dict.fromkeys(seq1, val) 返回一个以seq序列元素为键, val为初始值的字典
2. copy() 复制字典【深克隆】
——————操作——————
3. keys() 返回一个包含所有键的可迭代对象
4. values() 返回一个包含所有值得可迭代对象
5. items() 返回可迭代的(key, value)元组对象
————————————————
6. key in dict 检查key是否为字典中的键
7. setdefault(key, defaultval) 同get(key) 获取键对应的值,如果值不存在则创建并赋值defaultval
8. dict1.update(dict2) 将dict2中的键值追加到dict1上,如果键相同则覆盖
9. pop(key, defaultval) 删除key所对应的value并返回value, key必须给出,否则返回defaultval
10. popitem() 随机返回并删除最后一对键值对
11. str(dict) 打印 len(dict) 字典元素个数
2.4.3 排序
from operator import itemgetter	

eg:
a = {"name": "zs", "age": 18, "city": "深圳", "tel": "1362626627"}
a = dict(sorted(a.items(), key=itemgetter(0))) #根据key排序

#or
a = dict{sorted(a.items(), key=lambda x:x[0/1])}

2.5 元组tuple

2.5.1 创建
aTuple = (value1,)
aTuple = tuple()
#元组在初始化创建后就无法在进行修改操作
2.5.2 常用函数
len() max() min() tuple() #长度、最大值、最小值、将其它序列转换为元组
2.5.3 拆包元组数据
num1, num2 = (100, 200)
print(num1)
print(num2)

2.6 集合set

2.6.1 创建
aSet = set()
aSet = {value1, } 
aDict = {x(k) for k in seq}		#推导式
#创建空集合时只能使用set()
2.6.2 常用函数
add() 	#追加元素
clear()	#清空集合
copy()	#复制集合【深拷贝】

2.7 布尔bool: True / False

2.8 文件file

2.8.1 创建
aFile = openopen(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
with open(...) as aFile:
#说明:推荐使用with, 相当于使用了上下文管理器 __enter__()初始化, __exit__()退出时清理
2.8.2 常用函数
close() 		#关闭文件
read([size]) 	#读取指定的字节数,未给则读取全部
readline() 		#读取整行(包括 \n)
readlines([sizeint]) 	#读取所有行并返回列表
seek(offset[, whence]) 	#移动文件读取指针的位置
tell() 					#返回当前指针的位置
write() 				#写入文件
2.8.3 mode
r-读 w-写 a-追加 b-二进制 +-读/写【r+ 即读写操作】
附加:'+' 可读写,但是要基于前面的mode,
例:r+ 如果文件不存在则会报错,a+由于指针问题读取不了数据。
在Python3中新增了 'x':写,会检查文件是否存在,不存在才会进行写文件操作,避免覆盖

2.9 空None

is 			#进行地址比较
[-5, 256] 	#存储在固定地址值
== 			#值比较

#判断为空的三个方法
if x is None
if not x
if not x is None <==> if x is not None
#存在问题:在python中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False,单纯用not无法区分。

if x is not None #推荐使用,明显且避免了为''的情况

2.10 程序单元

  1. 函数function
  2. 模块
  3. 类class

3 对象自省(introspection)

指在运行时判断一个对象的类型的能力

dir() 		#获取对象常用方法
type() 		#获取对象类型
id() 		#获取对象地址
help() 		#获取函数的说明注释
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值