第一章 语法
基本类型
- 列表
数组合并
数组复制
正常计算方法
没有减法和数组相乘的方法
- 元组
计算方法和调用方法与列表一样
tuple表示元组
因为元组只有一个元素,元组的类型和这个元素类型一样
原因:运算优先符,例如:(1+1)*2和元组的符号相同,type在判断的时候,会优先判断为计算的优先符,先计算,相当于type(1)
,最后判断为int类型。
定义只有一个元素的元组
### 元组(,) 语法错误(1,) 定义只有一个元素的元组() 定义没有元素的元组### 列表[1] 还是一个列表,只有一个元素### 字符串'hello world'[2] =>l[1,2,3][2] =>3序列:列表,组,str特点:每个字符都有对应的下标,序号,每一个元素都被赋予序号复制代码
类型整理:int,float,bool,str,list,tuple
字符串序列:切片
字符串[a:b:c]进行切片
a:表示其实位置 b:表示选择的元素位数,从a位置开始数 c:表示在b位数中分为b/c个组,每组有c个数
最后的结果由在(b/c)个组中找到每个组的第一个元素组成。
判断元素是否在列表中
//判断是否在这个列表中>>> 3 in [1,2,3,4,5,6,7] >>> true//判断是否不在这个列表中>>> 3 not in [1,2,3,4,5,6,7] >>> false复制代码
- set数据类型 无序列表
就是集合,特性1:不重复性,无序性
不重复性:
无序性:
- 用法:
长度:
差集:两个数组的差集
{ 1,2,3,4,5} - { 2,4,5}>>> { 1,3}复制代码
- 交集
- 集合合并去重(合集或者并集)
定义空集合:
错误:type({})dict 类型正确:set()set类型len(set())>>> 0复制代码
*dict字典
dict也是集合类型
定义:{key1:value1,key2:value2.......}
访问方式:通过key访问value
- 变量 定义:由数字,字母,下划线组成
错误:数字开头的变量正确:字母或者下划线开头的变量复制代码
注意:
- 系统关键字,不能用在变量名中,保留关键字
- 变量区分大小写
- 变量没有类型限制,可以被赋予任何类型
- 值类型和引用类型
int 值类型a = 1b = aa = 3print(b)list;引用类型a = [1, 2, 3, 4]b = aa[0] = 23333print(b)>>> [23333,2,3,4]复制代码
- 值类型 (int str tuple)(不可改变)
- list set dict(可变)引用类型
- 字符串不可变
b = 'hello'id(b) //内存地址 3215217816664 10进制b = b +'world'id(b) //内存地址 3215219303280 print(b)>>> helloworld复制代码
- tuple和list区别
list:类型可变,可以更改数据,因为更改之后数据内存地址不变
-
tuple:元组(不可变的,定义之后就不能再更改,如果改变则会报错)
-
算数运算符
# 运算符a = 'hello' + 'world'b = [1, 2, 34] * 3c = 3 - 1d = 3 / 2# 整除e = 3 // 2# 余数f = 5 % 2# 平方ff = 2 ** 2# 次方fff = 2 ** 3复制代码
- 赋值运算符
- 比较(关系)运算符
- 逻辑运算符
- and
- or
- not
- 成员运算符 (一个成员是否在另一组成员序列中,适用于字符串,元组,列表,字典(检查是否有对应的key,而不是vlaue))
- in
- not in
- 身份运算符
- is 如果两个变量取值相等,则返回true 判断都是变量两边的取值的内存地址是否一样,取值相同不一定身份相同,利用内存地址是否一样判断
- not is
- 值类型 对象三大特征 (id,value,type)=> (is,==,isinstance) 3.1 值类型,身份类型,取值类型 (isinstance(a,类型),isinstance(a,(类型元组)))不用type,不能判断子类的类型
python一切都是对象
- 按位运算符(把数字转为二进制数进行运算的)
- 按位与
a=2b=3a & b>>> 2复制代码
- 按位或
a=2b=3a | b>>> 3复制代码
- 按位与或