一、写代码思想
1.1 可读性(首选)
2.1 简洁性
二、python语法的万能法则
2.1 是什么
2.2 存在的意义
2.3 怎么用
三、变量与基本数据类型
1. 变量
是什么?
变量: 可以变化的量, 量指的是事物的状态
存在的意义?
记忆事物的某种状态, 且状态可以发生变化(程序的本质是一系列状态的变化)
使用:
原则: 先定义后引用
变量的定义: 变量名 = 值
变量的内存管理:
垃圾回收机制: 垃圾指的是变量值被绑定的变量名为0时, 变量值无法被访问到
引用计数增加
x = 10
y = x
引用计数减少
del x # 解除变量名x与值10的绑定关系, 10的引用计数减1
变量名的命名:
I: 变量名
命名原则: 见名知意
命名规则:
只能是数字、字母、下划线;
不能以数字开头;
不能使用python关键字
ps: 在见名知意的前提下尽可能短
命名风格: 纯小写+下划线
II: =
III: 变量值
id: 是变量值的内存地址, 内存地址不同则id不同
type: 不同类型的值用来记录不同的状态
value: 值本身
IV: is 与 ==
is: 比较id是否相等
==: 比较两个值是否相等
小整数池: python解释器启动 —> 内存中存放一系列整数(-5 ~ 256)
目的: 减少IO操作, 提高效率
2. 常量(不变的量)
python中没有常量的概念, 约定变量名全为大写, 代表常量
3.基本数据类型
1. 数字类型
1.1 整型(int)
定义: age = 18 ===> age = int(10)
作用:
进制转换: bin() oct() hex ()
### 1.2 浮点型(float)
定义:
作用:
int与float可以相加
2. 字符串(str)
作用: 记录描述性质的状态
定义: 必须加 ‘ 字符串 ’, “ 字符串 ”, ‘’’ 字符串 ‘’’, “”" 字符串 “”"
字符串相加: ‘123’ + ‘abc’ (效率低, 不推荐)
#### 字符串内置方法:
掌握(**): 索引取值 切片(索引) 切分:split() join() strip() len() 成员运算:in/not in
了解: find() rfind() index() rindex() count()
center() ljust() rjust() zfill()
设置制表符代表的空格数:expandtabs()
第一个单词首字母大写: captalize() 大小写翻转: swapcase() 每个单词首字母大写: title()
islower() isupper() istitle() 字母或数字组成: isalnum() 字母组成: isalpha() 空格组成: isspace() 判断标识符是否合法: isdentifier()
num1 = b’4’ num2 = u’4’ num3 =‘四’ num4 = ‘IV’
isdigit() —> True: num1 num2
isnumeric() —> True: num2 num3 num4
isdecimal() —> True: num2
字符串格式化输出:
方法一:
% 速度最慢
‘’’
name: %s
age: %d
weight: %f
‘’’ % (‘xxx’, 18, 52.8)
‘’’
name: %(name)s
age: %(age)d
weight: %(wg)f
‘’’ % (‘name’: xxx’, ‘age’ = 18, ‘wg’ = 52.8)
%f: 浮点型
%d: 整型
%s: 字符串, 可以接收任意类型
方法二:
str.format() —> 2.6引入, 兼容性好, 速度比%快, 比f-str慢
‘’’
name: {}
age: {}
weight: {}
‘’’.format(‘王二’, 18, 50.5)
‘’’
name: {0}
age: {1}
weight: {2}
‘’’.format(‘王二’, 18, 50.5)
‘’’
name: {name}
age: {age}
weight: {wg}
‘’’.format(name=‘王二’, age=18, wg=50.5)
方法三:
f-str —> 3.5后引入, 速度最快
f’’’
name: {‘王二’}
age: {18}
weight: {50.5}
‘’’
方法四:
标准库模板
3. 列表
定义: 在[]内用逗号’, '分开多个任意类型的值, 一个值称之为一个元素
作用: 按位置记录多个值, 并且可以按照索引取出指定位置的值
列表在内存中的存储方式: 开辟一个内存空间, 存储索引对应值的内存地址
my_list = [1, 2, ‘3’, [1, 2, 3]]
增:
末尾添加: my_list.append(4)
my_list.extend([9, 8, 7])
任意位置添加: my_list.insert(1, ‘hhh’)
删:
删除最后一个: my_list.pop()
指定位置删除: my_list.pop(2)
通过值删除: my_list.remove([1,2,3])
del my_list(0) —> 0为索引
改:
my_list[0] = ‘1’
查:
my_list[2]
my_list[-1]
可嵌套取值
类型转换: 能够被for循环遍历的类型都可以list()转换成列表(str tuple dict)
内置方法
索引取值 切片 成员运算: in/not in 追加: append() 任意位置插入值: insert() 列表扩展: extend() 删除: pop() remove() 公共的删除方法(没有返回值): del 循环: for 长度: len()
了解: count() index() clear() 翻转: reverse() 排序: sort()
4. 字典
定义: 在{}内用’, '分开多个key: value(字典中元素默认无序)
作用: 用来存储多个值, 每个值都有唯一与之对应的key, key是唯一不可重复的
字典在内存中的存储方式: 开辟一个内存空间, 存储key对应值的内存地址
my_dic = {
‘name’: ‘王二’
‘age’: 18=
‘height’: 1.81
‘weight’: 60.5
}
增:
my_dic[hobby] = ‘read’
删:
del my_dic[‘age’]
改:
my_dic[‘name’] = ‘李四’
查:
my_dic[‘name’]
可嵌套取值
类型转换:
内置方法:
长度: len() 成员运算: in/not in
删除: del pop():根据key删除元素返回对应的value值 popitem():随机删除返回元组(key, value)
keys() values() items() 循环
fromkeys() clear() get():按照key取值(key不存在返回None, 不报错) update() setdefault(): key存在pass, key不存在新增key-value键值对, 返回字典key对应的值
5. 布尔
作用: 记录真假两种状态
定义: is_ok = True
is_ok = False
使用: 条件判断时使用
6. 元组
my_tuple = (1, 2, 3, 4)
查:
my_tuple [0] —> 索引取值
类型转换:
内置方法:
索引取值 切片 成员运算: in/not 长度:len() 循环 index() count()
7. 集合
my_set = {1, 2, 3, 4}
天生去重
只能针对不可变类型
无法保证原来的顺序
增:
my_set.add(5)
my_set.update({5, 6}) my_set.update([5, 6], [7, 8])
两个集合的运算(关系运算:):
a = {1,2,3}
b = set(3, 4,5,)
集合a中包含而集合b中不包含的元素(差集) a-b
集合a或b中包含的所有元素(并集) a | b
集合a和b中都包含了的元素 (交集) a & b
不同时包含于a和b的元素(对称差集) a ^ b
父子集: {1, 2, 3} > {1,2}
内置方法:
intersection():交集 union(): 并集 difference(): 差集 symmetric_difference():对称差集 issuperset(): 父集 issubset():子集 in/not in len() discard():删除元素 update() pop():随机删除 add() isdisjoint(): 判断两个集合是否完全独立
8.
四、接收用户输入
变量名 = input(‘提示信息’)
五、运算符
运算符优先级:
1. 算数运算
+ - * ** / // %
2. 比较运算
> >= < <= == !=
3. 赋值运算
变量的赋值: =
增量赋值: += -= *= /= //= %= **=
链式赋值(把一个值赋值给三个变量): x = y = z = 10
交叉赋值(两个变量交换值): a, b = b, a
解压赋值(解包): a, b, c = [1, 2, 3]
a, b, *_ = [1, 2, 3, 4, 5] —> _:用下划线当变量名, 绑定的是被废弃的值
4. 成员运算
in not in
5. 逻辑运算
not and or
优先级: not > and > or
6. 身份运算
is 判断id是否相等
六、可变不可变类型
int, float, str 都被设计成了一个不可分割的整体, 不能被改变
可变类型(值改变, id不变): list set dict
不可变类型: tuple bool
这篇博客主要介绍了Python编程中的变量与基本数据类型,包括变量的定义、使用及内存管理,常量的约定,以及整型、字符串、列表、字典、布尔、元组和集合等基本数据类型的特性、操作和用途。此外,还涵盖了运算符的使用和可变不可变类型的区分。

被折叠的 条评论
为什么被折叠?



