基础知识小结
Posted verena
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础知识小结相关的知识,希望对你有一定的参考价值。
1. python是一门解释型弱类型高级编成语言语言
2. 常见的解释器:
CPython, IPython, pypy,JPython, IronPython
3. 变量:在程序运行过程中产生的中间值供给后面使用
命名规范:
1. 由数字, 字母, 下划线组成
2. 不能是数字开头, 更不能是纯数字
3. 不能是关键字(if else elif)
4. 不要太长
5. 要有意义
6. 不要用中文
7. 区分大小写
8. 使用驼峰或者下划线
2. 常见的解释器:
CPython, IPython, pypy,JPython, IronPython
3. 变量:在程序运行过程中产生的中间值供给后面使用
命名规范:
1. 由数字, 字母, 下划线组成
2. 不能是数字开头, 更不能是纯数字
3. 不能是关键字(if else elif)
4. 不要太长
5. 要有意义
6. 不要用中文
7. 区分大小写
8. 使用驼峰或者下划线
数据类型:
1. int(整数)
+-*/ // %
2. str(字符串)
+ *
int(str)
3. bool(布尔值) True, False
常量 : 不存在绝对的常量。所有的字母大写就是常量
交互 : s = input("提示语")
1. int(整数)
+-*/ // %
2. str(字符串)
+ *
int(str)
3. bool(布尔值) True, False
常量 : 不存在绝对的常量。所有的字母大写就是常量
交互 : s = input("提示语")
条件判断 if语句
if 条件:
代码块
if 条件:
代码块
条件成立运行代码块
if 条件:
代码块
else:
代码块
代码块
else:
代码块
if 条件:
代码块
elif 条件:
代码块
elif.....
else:
代码块
代码块
elif 条件:
代码块
elif.....
else:
代码块
嵌套
###################################################################
1. while循环
while 条件:
代码块(循环体)
break 结束当前本层循环.
continue 结束当前本次循环. 继续执行下一次循环
else:
当条件不成立的时候执行这里的代码
2. 格式化输出
%s 占位符 , 占位的是字符串
%d , 占位数字
3. 运算符
逻辑运算
and 并且的意思. 左右两端同时为真. 结果才是真
or 或者的意思. 左右两端有一个是真. 结果就是真
not 非真既假 非假既真
while 条件:
代码块(循环体)
break 结束当前本层循环.
continue 结束当前本次循环. 继续执行下一次循环
else:
当条件不成立的时候执行这里的代码
2. 格式化输出
%s 占位符 , 占位的是字符串
%d , 占位数字
3. 运算符
逻辑运算
and 并且的意思. 左右两端同时为真. 结果才是真
or 或者的意思. 左右两端有一个是真. 结果就是真
not 非真既假 非假既真
顺序: () => not => and => or
x or y if x == 0 then y else x
and和or相反
4. 编码
1. ASCII. 8bit 1byte
2. GBK. 16bit 2byte
3. Unicode 32bit 4byte
4. UTF-8 可变长度
英文: 8bit 1byte
欧洲: 16bit 2byte
中文: 24bit 3byte
and和or相反
4. 编码
1. ASCII. 8bit 1byte
2. GBK. 16bit 2byte
3. Unicode 32bit 4byte
4. UTF-8 可变长度
英文: 8bit 1byte
欧洲: 16bit 2byte
中文: 24bit 3byte
###################################################################
1. int + - * / % // **
bit_length()
2. bool 类型转换
结论1: 想把刘伟转换成刘德华. 刘德华(刘伟)
结论2: True => 1 False => 0
结论3: 可以当做False的数据: 0, "", [], (), {}, set(), None. 所有的空都是False
3. str字符串
字符: 单一的文字符号
字符串: 有序的字符序列
‘, ", ‘‘‘, """括起来的内容就是字符串
索引和切片:
1. 索引下标从0开始
2. 切片:[start: end: step]
1. 顾头不顾尾
2. 默认从左往右取. 如果step是负数. 从右往左取
2. bool 类型转换
结论1: 想把刘伟转换成刘德华. 刘德华(刘伟)
结论2: True => 1 False => 0
结论3: 可以当做False的数据: 0, "", [], (), {}, set(), None. 所有的空都是False
3. str字符串
字符: 单一的文字符号
字符串: 有序的字符序列
‘, ", ‘‘‘, """括起来的内容就是字符串
索引和切片:
1. 索引下标从0开始
2. 切片:[start: end: step]
1. 顾头不顾尾
2. 默认从左往右取. 如果step是负数. 从右往左取
操作:
1. uppper() 转化成大写
2. strip() 去掉空白(空格, 制表符 , 换行符 ) white space
3. replace(old, new) 替换
4. split() 切割, 结果是列表
5. startswith() 判断是否以xxx开头
6. find() index()
7. isdigit() 判断是否由数字组成
8. len() 求字符串长度, 内置函数. 直接就可以了
1. uppper() 转化成大写
2. strip() 去掉空白(空格, 制表符 , 换行符 ) white space
3. replace(old, new) 替换
4. split() 切割, 结果是列表
5. startswith() 判断是否以xxx开头
6. find() index()
7. isdigit() 判断是否由数字组成
8. len() 求字符串长度, 内置函数. 直接就可以了
迭代:
for 变量 in 可迭代对象:
循环体
for 变量 in 可迭代对象:
循环体
###################################################################
1. 列表的定义:
能装对象的对象. 由[]表示. 内部使用逗号隔开
索引和切片 . 从0开始
[start: end: step]
2. 增删改查
1. 新增: append(), insert(), extend()迭代添加
2. 删除: pop(), remove(), clear(), del 元素
3. 修改: 索引或切片修改
4. 查询: 索引查询 for el in list:
5. 操作: count(), index(), find(), sort(reverse=True), reverse()
3. 元组(tuple):
由()表示. 内部用逗号隔开.
不可变, 只读列表
不可变指的是第一层元素.
能装对象的对象. 由[]表示. 内部使用逗号隔开
索引和切片 . 从0开始
[start: end: step]
2. 增删改查
1. 新增: append(), insert(), extend()迭代添加
2. 删除: pop(), remove(), clear(), del 元素
3. 修改: 索引或切片修改
4. 查询: 索引查询 for el in list:
5. 操作: count(), index(), find(), sort(reverse=True), reverse()
3. 元组(tuple):
由()表示. 内部用逗号隔开.
不可变, 只读列表
不可变指的是第一层元素.
不可变的数据类型: int, str, bool, (元组)
4. range()
range(10) 0-9
range(1, 12) 1-11
range(1,12, 3) 1 4 7 10
range(10) 0-9
range(1, 12) 1-11
range(1,12, 3) 1 4 7 10
for el in list: # 没有索引
for i in range(len(list)):
list[i]
list[i]
###################################################################
字典:
由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据
key: 不可变的. 可哈希的.
增删改查:
1. 增加: 直接用新key来赋值. dict[key] = value setdefault()
2. 删除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查询: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的键值对. (key, value)
key: 不可变的. 可哈希的.
增删改查:
1. 增加: 直接用新key来赋值. dict[key] = value setdefault()
2. 删除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查询: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的键值对. (key, value)
6. 字典的遍历
for k,v in dict.items():
for k,v in dict.items():
for k in dict:
dict[k]
dict[k]
###################################################################
1. 小数据池, 缓存字符串, 整数, 布尔值. 提高内存使用效率. 不需要重复创建对象
数字: -5~256
字符串:
单个直接缓存
多个字符. 只有数字, 字母, 下划线会缓存
乘以1,同上
乘以大于1, 总长度不超过20 4096
数字: -5~256
字符串:
单个直接缓存
多个字符. 只有数字, 字母, 下划线会缓存
乘以1,同上
乘以大于1, 总长度不超过20 4096
在同一个代码块中. 以上规则会有变化.
1. 数字. 默认都缓存.
2. 字符串. 默认也都缓存.
在不同的代码块中. 遵守的就是最上面的规则
1. 数字. 默认都缓存.
2. 字符串. 默认也都缓存.
在不同的代码块中. 遵守的就是最上面的规则
2. is和==的区别
== 比较的是值.
is 比较的是内存地址
== 比较的是值.
is 比较的是内存地址
3. 编码
encode() 编码
decode() 解码
encode() 编码
decode() 解码
###################################################################
join() 把列表中的每一项用字符串拼接起来
split() 相反
1. 关于删除(重点)
1. 循环迭代过程中不能删除。
2. 创建新列表。 把要删除的内容保存在新列表中。 循环新列表, 删除老列表
3. 字典在循环的时候可以修改, 但不能新增和删除
split() 相反
1. 关于删除(重点)
1. 循环迭代过程中不能删除。
2. 创建新列表。 把要删除的内容保存在新列表中。 循环新列表, 删除老列表
3. 字典在循环的时候可以修改, 但不能新增和删除
dict.fromkeys(k, v)
把key迭代。和value组合成k:v创建新字典, 所有的key共享同一个value
2. set集合(粗略)
特点: 无序, 去重, 哈希
lst = []
list(set(lst)) # 去重复
3. 深浅拷贝(难点)
1. 赋值。 不会产生新对象,和拷贝无关
把key迭代。和value组合成k:v创建新字典, 所有的key共享同一个value
2. set集合(粗略)
特点: 无序, 去重, 哈希
lst = []
list(set(lst)) # 去重复
3. 深浅拷贝(难点)
1. 赋值。 不会产生新对象,和拷贝无关
2. 浅拷贝。 只会复制自身。 会创建对象
3.深拷贝,把内部所有的内容都进行拷贝
以上是关于基础知识小结的主要内容,如果未能解决你的问题,请参考以下文章