python基础 - 变量与运算符

变量与运算符

变量

定义一个变量

a = [1,2,3,4,5,6]
print(a) # [1,2,3,4,5,6]

变量命名要求:

  1. 首字母不能是数字
  2. 只能包含字符数字下划线
  3. 不能是关键字

type 不是关键字,可以做变量名,但是不建议使用。

变量名区分大小写。

关于列表

a = 1
b = a
a = 3
print(b) # 1 a = [1,2,3,4,5]
b = a
a[0] = '1'
print(a) # ['1',2,3,4,5]
print(b) # ['1',2,3,4,5]

int, str, tuple 是值类型(不可改变)

list, set, dict 是引用类型(可变)

a = 'Hello'
a = a + ' Python'
print(a) # Hello Python

id(): 显示内存地址

b = 'hello'
id(b) # 49675488
b = b + ' python'
id(b) # 49748392
# 内存地址改变

字符串不可改变

'python'[0] # p
'python'[0] = 'a' # 报错, 不可改变

关于 type

type = 1 # 此时,type 代表 1
type(1) # 报错

关于tuple list

list

a = [1,2,3]
id(a)
a[0] = [6]
id(a) # 地址不变 b = [1,2,3]
b.append(4)
print(b) # [1,2,3,4]

tuple

a = (1,2,3)
a[0] = '6' # 报错 c = (1,2,3)
c.append(4) # 报错

元组中列表的内容可以修改

a = (1,2,[3,4])
a[2][0] = 6
print(a) # (1,2,[6,4])

运算符

+, -, *, /, //, %,

3 // 2 # 1,结果为整数

3**2 # 3 的平方
3**3 # 3 的三次方 // 赋值
=
+=
-+
//=
**/

Bool

==
>
>=
<
<=
!=

布尔值相加

b = 1
b += True # 2

list, tuple 也可以比较

[1,2,3] < [1,3,2] # True
(1,2,3) < (1,3,2) # True

逻辑运算符

and: 两个都为真才为真

or: 有一个为真即为真

not: not False: 真,返回相反的 bool 值

True and True # True
False or False # True
not False # True

相关运算

1 and 2     # 2, 都为真,返回第二个
'' and 'b' # '', 有一个为假,返回为假的元素
0 and '' # 0, 都为假返回第一个元素
'a' or 'b' # 'a', 都为真,返回第一个元素师
0 or 1 # 1, 有一个为真,返回为真的元素
1 or 0 # 1, 有一个为真,返回为真的元素
not 'a' # False

空的字符串,列表,set,dict 为 False.

成员运算符

in. not in

返回 bool 值

a = 1
a in [1,2,3] # True
a not in [2,3,4] # True

列表,集合,元组都可以

字典

a = 'b'
c = {
'b':1
}
a in c # True
# a 包含在 c 的键中,返回 True

身份运算符

is, not is

返回结果为 bool 值

is 不是比较值相等,is 比较的是两个变量的身份是否相等(内存地址)

not is 身份是否不等

a = 1
b = 1.0
a == b # True
a is b # False a = 1
b = 1
a is b # True a = {1,2,3}
b = {1,3,2}
a == b # True
a is b # False
# 集合是无序的,顺序不影响
# a b 地址不同 a = (1,2,3)
b = (1,3,2)
a == b # False
a is b # False
# 元素属于序列,是有序的 a = [1,2,3]
b = [1,2,3]
a == b # True
a is b # False a = [1,2]
b = [2,1]
a == b # False
a is b # False

判断字符串类型:isinstance()

a = 1
isinstance(a,int) # True
isinstance(a,(int,str)) # True
# 第二个参数只能为元组,[],{} 会报错

位运算符

& # 按位与
| # 按位或
^ # 按位异或
~ #
…………

&

# 二进制对应位置都为 1 为 1 否则为 0
2: 1 0
3: 1 1
&: 1 0

|

# 二进制对应位置只要有一个为 1 就为 1 都为0 则为 0
2: 1 0
3: 1 1
|: 1 1
上一篇:记ibatis使用动态列查询问题(remapresults)


下一篇:Java关键字(一) 修饰符private、protected、public和default的作用域