1 #变量与运算符
2 print([1,2,3,4,5,6]*3+[1,2,3]+[1,2,3,4,5,6]) #[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6]
3 #变量 定义变量 变量命名规则:
4 #1.首字符不能为数字,变量由字母、数字、下划线组成
5 #2.系统关键字不能用在变量名中,保留关键字
6 #3.变量名区分大小写
7 #4.变量类型不固定,是python为动态语言的体现
8 A = [1,2,3,4,5,6]
9 B = [1,2,3]
10 print(A*3 + B + A) #[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6]
11 skill = ['新月打击','苍白之瀑']
12 print(skill[0:2])#['新月打击', '苍白之瀑']
13
14 # int str tuple (不可改变)值类型
15 # list set dict (可变) 引用类型
16 a = 1
17 b = a
18 a = 3
19 print(b) #1
20 a = [1,2,3,4,5]
21 b = a
22 a[0] = '1' # 说明:a[0]并未重新赋值,只是将原有列表进行更改
23 print(a) #['1', 2, 3, 4, 5]
24 print(b) #['1', 2, 3, 4, 5]
25 a = 'hello'
26 a = a + ' python'
27 print(a) #hello python
28 b = 'hello'
29 print(id(b)) #id()内容地址 4458517168
30 b = b + ' python'
31 print(id(b)) # 4368705008
32 #tuple(元组) list(列表)
33 a = [1,2,3]
34 print("内存地址:",id(a),",16进制:",hex(id(a)),",a = ",a) #内存地址: 4328269184 ,16进制: 0x101fc2580 ,a = [1, 2, 3]
35 a[0] = '1'
36 print(("内存地址:",id(a),",16进制:",hex(id(a))),",a = ",a) #('内存地址:', 4328269184, ',16进制:', '0x101fc2580') ,a = ['1', 2, 3]
37 #列表中添加元素 多维数组
38 b = [1,2,3]
39 b.append(4)
40 print(b) #[1, 2, 3, 4]
41 a = (1,2,3,[1,2,4])
42 print(a[3][2]) #二维数组取值 4
43 a[3][2] = '4'
44 print(a) #(1, 2, 3, [1, 2, '4'])
45 a = (1,2,3,[1,2,['a','b','c']])
46 print(a[3][2][1]) #三维数组取值 b
47 #运算符:
48 # 算术运算符(+/-/*/ '/' / '//' /%/**)
49 # 赋值运算符(=/+=/*= / '/=' /%=/**=/ //=)
50 # 比较(关系)运算符(==/!=/>/</>=/<=)
51 # 逻辑运算符(and(且)/or/not)
52 # 成员运算符(in/not in)
53 # 身份运算符(is/is not)
54 # 位运算符(&/|/^/~/<</>>)
55 print('hello' + " world") #hello world
56 print([1,2,3]*3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
57 print(3-1) #2
58 print(3/2) #1.5
59 print(3//2) #整除 1
60 print(5%2) #取余数 1
61 print("3的三次方:",3**3,",3的四次方:",3**4) #指数: 3的三次方: 27 ,3的四次方: 81
62 c = 1
63 c += 1 # c += 1 等于 c=c+1
64 print(c) #2
65 b = 2
66 a = 3
67 b += a # b = b + a
68 print(b) #5
69 b -= a # b = b-a
70 print(b) #2
71 b *= a # b =b * a
72 print(b) #6
73
74 print(1==1,1>1,1>=1,1<=1,1!=2)#True False True True True
75 b = 1
76 b +=b >= 1
77 print(b,b>=1,int(True)) #2 True 1
78 print(ord('a'),ord('b'),'a' > 'b') #字符串之间比较的是ascll码值 97 98 False
79 print('abc'<'abd',[1,2,3] < [2,3,4],(1,2,3) < (1,3,2))#比较列表的每个元素开始比较 True True True
80
81 # 逻辑运算符(and(且)/or/not)
82 print(True and True, True and False)#True False
83 print(True or False, False or False)#True False
84 print(not True,not False,not not True)#False True True
85 #int float 0 被认为是False, 非0 表示True
86 print(bool(0),bool(0.1),not 0,not 0.1) #False True True False
87 #字符串 空字符串False,非空字符串为True
88 print(bool(''),bool('a'),not '',not 'a')#False True True False
89 #列表:空False,非空True
90 print(bool([]),bool([1,2,3]),not [],not [1,2,3])#False True True False
91 #and 运算结果为True则返回为True的值, 若运算为True,两个值均为True则返回最后一个
92 #根据每个逻辑运算符,若仅凭第一个可以判断出运算结果后,则直接返回第一个值即可
93 print([1] or [],[] or [1])#[1] [1]
94 print(1 and 0,0 and 1)#0 0
95 print(1 and 2,2 and 1 ,2 and 1 and 3)#2 1 3
96 print(1 or 0,0 or 1,1 or 2)#1 1 1
97
98 # 成员运算符(in/not in)
99 a = 1
100 print(a in [1,2,3,4,5]) #True
101 print(a not in [1,2,3,4,5]) #False
102 b=6
103 print(b in [1,2,3,4,5]) #False
104 print(b not in [1,2,3,4,5]) #True
105 print('h' in 'hello','h' not in (1,2,3,4,5),'h' not in {1,2,3,4,5}) #True True True
106 #字典成员运算符 判断是否在字典中存在是判断字典中的key是否存在
107 print('a' in {'c':1},1 in {'c':1},'c' in {'c':1})#False False True
108
109 # 身份运算符(is/is not)
110 a = 'hello'
111 b = 'world'
112 c = 'world'
113 print(a is b,b is c) #False True
114 # == 比较值是否相等,is 比较身份(内存地址)是否相等 type 比较类型
115 a = 1
116 b = 1.0
117 print(a == b, a is b,id(a),id(b)) #True False 4470852256 4472861808
118 a = {1,2,3}
119 b = {2,1,3}
120 print(a == b,a is b,id(a),id(b)) #True False 4325657952 4325657280
121 c = (1,2,3)
122 d = (2,1,3)
123 print(c == d,c is d) #元组是序列 False False
124 #对象的三个特征 id(is)、value(==)、type(isinstance)
125 #type不能判断变量的子类是哪种类型,isinstance可以
126 a = 'hello'
127 print(type(a) == int,type(a) == str,isinstance(a,int),isinstance(a,str),isinstance(a,(int,str,float)))#False True False True True
128
129 # 位运算符-把数字当做二进制数进行运算(&(按位与)/|(按位或)/^(按位异或)/~(按位取反)/<<(左移动)/>>(右移动)) 精确比较当数字转为二进制数后每一位数进行比较
130 a = 2
131 b = 3
132 print(a&b,a|b)#2 3