变量、运算符、数据类型及位运算
一、注释
(1)单行注释
用#,表示该行为注释
#这是一行注释
(2)多行注释
第一种用’’’ ‘’'三个单引号表示多行注释,中间括起内容为注释内容
'''
这是用三个单引号的多行注释
这是用三个单引号的多行注释
'''
第二种用""" “”"三个双引号表示多行注释,中间括起内容为注释内容
"""
这是用三个双引号的多行注释
这是用三个双引号的多行注释
"""
二、运算
- 算术运算符
例:
print(3+5)
8
>>> print(3-5)
-2
>>> print(3*6)
18
>>> print(3/4)
0.75
>>> print(3//4)
0
>>> print(3%4)
3
>>> print(5**3)
125
- 比较运算符
例:
>>> print(2>3)
False
>>> print(2>=2)
True
>>> print(2==3)
False
>>> print(2!=5)
True
- 逻辑运算符
例:
>>> (3>2)and(5>4)
True
>>> (1>3)or(9<2)
False
>>> not(3>2)
False
- 位运算
(1)原码、反码和补码
1.原码:
就是其二进制表示(注意,最高位是符号位)。
2.反码:
正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。
3.补码:
正数的补码就是原码,负数的补码是反码+1。
<注>符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。
(2)按位非操作 ~
(3)按位与操作 &
(4)按位或操作 |
(5)按位异或操作 ^
(6)按位左移操作 <<
(num << i 将num的二进制表示向左移动i位所得的值。)
(7)按位右移操作 >>
(num >> i 将num的二进制表示向右移动i位所得的值。)
(8)利用位运算实现快速计算
(9)利用位运算实现整数集合
- 三元运算
x,y=4,5
if x<y:
small=x
else:
small=y
print(small)
运行结果:
4
三元运算符表达格式:
表达式1 if 条件表达式 else 表达式2;
#运用三元运算符就可以将上述条件判断和赋值操作用一条语句
来完成;
例:
x,y=4,5
small=x if x<y else y
print(small)
- 其他运算符
例:
>>> 'A'in['A','B','C']
True
>>> 'A'not in['A','B','C']
False
>>> "fst"is"fst"
True
>>> "fst"is not"FST"
True
- 比较的两个变量均指向不可变类型
例:
a="hello"
b="hello"
print(a is b,a==b) #True True
print(a is not b,a!=b) #False False
- 比较的两个变量均指向可变类型
例:
a=["hello"]
b=["hello"]
print(a is b,a==b) #False True
print(a is not b,a!=b) #True False
<注>:
-
is,is not 对比的是两个变量的内存地址;
-
==,!=对比的是两个变量的值;
-
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!=是完全等价的;
运算符的优先级
- 一元运算符优于二元运算符。例:3** -2等价于3**(-2)。
- 先算术运算,再移位运算,最后位运算。例:2 << 3 + 7 & 7等价于(2 << (3 + 7)) & 7。
- 逻辑运算最后结合。例:3 < 4 and 4 < 5等价于(3<4)and (4<5).
三、变量和赋值
- 在使用变量之前,需要对其先赋值。
- 变量名可以包括字母、数字、下划线、但变量名不能以数字开头。
- Python 变量名是区分大小写。
first = 2
second = 3
third = first + second
print(third) #5
四、 数据类型与转换
- int型
a=11
print(type(a))
#<class 'int'>
- float型
a=12.34
print(type(a))
#<class 'float'>
- bool型
布尔 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False。
例:
print(True + True) #2
print(True + False) #1
print(True * False) #0
除了直接给变量赋值 True 和 False,还可以用 bool(X) 来创建变量,其中 X 可以是
(1)基本类型:整型、浮点型、布尔型
print(bool(3),bool(0))#True False
(2)容器类型:字符串、元组、列表、字典和集合
(bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。)
print(bool(''),bool('python'))#False True
print( bool(()), bool((10,)))#False True
print( bool([]), bool([1, 2]))#False True
- 类型转换
(1)转换为整型
print(int(520.52)) #520
(2)转换为浮点型
print(float(520)) # 520.0
(3)转换为字符串
print(str(10 + 10)) # 20
print(str(10.1 + 5.2)) # 15.3
五、print()函数
- 没有参数时,每次输出后都会换行。
- 每次输出结束都用end设置的参数*结尾,并没有默认换行。
shoplist = ['apple', 'mango', 'carrot', 'banana']
print("This is printed with 'end='*''.")
for item in shoplist:
print(item, end='*')
print('hello world')
#This is printed with 'end='*''.
#apple*mango*carrot*banana*hello world