• 变量可以简单理解成某个元素的名字
• 变量尽可能要有它应有的意义
• a = ‘abc’ 字符串abc名字为a
• b = [1,2,3] 列表名字为b
• c = (1,2,3) 元组名字为c
• d = {1,2,3} 集合名字为d
• f = {‘a’ : 1, ‘b’ : 2} 字典名字为f
不可变值类型:str 、 number 、 tuple; 变量定义的内存空间再次定义时会切换到另一个内存空间
引用类型可改变:set 、 list 、dict ; 变量定义的内存空间再次定义时还会在同一个内存空间
字典匹配的是 key;例如 key是字典的偏旁, value是字典中的字,所以先找 key
• 变量尽可能要有它应有的意义
• student = [‘zhangsan’, ‘lisi’]
• school = [‘jiaoda’, ‘youdian’]
• = 为赋值操作
• 变量可包含字母、数字、下划线(不可用其他@#之类的,只能使用下划线)
• 首字母不能是数字
• 变量名不可用系统保留关键字
• 变量名区分大小写
• python中可以随意定义,动态语言
• Python可切片对象的索引方式
• 包括:正索引和负索引两部分,如下图所示,以list对象a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
Python切片操作的一般方式
• 一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、
step)。当只有一个“:”时,默认第三个参数step=1;当一个“:”也没有时,start_index=end_index,表示切取start_index指定的那个元素
• 切片操作基本表达式:object[start_index:end_index:step] [起始:终止:步长]
• step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了
“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,
默认为1,即从左往右以步长1取值
• start_index:
表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点”
开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为
正从“起点”开始,为负从“终点”开始。
• end_index:
表示终止索引(不包含该索引对应值);该参数省略时,表示一
直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数
的正负决定,step为正时直到“终点”从左往右取,为负时直到“起点”从右往左。
完整的切片数据 [start,end,step]
切片举例说明
• aList = [1,2,3,4,5]
• aList[1:3:-1] 思考是多少
• a[-1:-3:-1]
包引用,节省代码的复杂程度;
import 引入包
一个文件夹可以理解成一个包,每一个文件夹下的文件夹可以是一个子包,模块为一个个的python文件,
模块是真正的文件,代码都写在模块中;
Python引入包的方法:
as 为引入包的别名
#!/usr/bin/python3
包引用,节省代码的复杂程度;
第一种引入方法
import python.from_improt as demo
print(demo.a)
#
第二种另一种引入模块和包的方法 from 先引入包,再引用模块
一般最建议的是这种方法; 在模块下调用方法
from python import from_improt as wh
print(wh.b)
第三种引入方法 可以直接引入变量,根据选择引入哪个变量,不用指定模块名
这种方法引入* 会导致混淆,不知引入的变量意义
rom python.from_improt import *
注意:包和模块不能被重复导入
每创建一个python包,会自动创建一个__init__.py 的路口方法 __
__init__.py 文件在导入包的时候,会自动执行;
无论是导入包,还是模块下任意变量
python都会自动执行__init__下的代码
对于如果需要在多个模块中都引入同一个模块,逐个手动引入过于麻烦,
可以使用__init__ 自动导入