1、笔记
多行注释:
1、选中多行代码按下快捷键:Ctrl+ /(自己以前的方法)
2、三个单引号
3、三个双引号
运算符
算术运算符:+ 、- 、* 、/ 、 // 、 % 、 **(加减乘除 整除 取余 幂)
比较运算符:不等于 !=
逻辑运算符:and 、or、 not(与或非)
位运算符:(不太熟悉)
操作符 | 名称 | 示例 |
---|---|---|
~ | 按位取反 | ~4 |
& | 按位与 | 4&5 |
| | 按位或 | 4|5 |
^ | 按位异或 | 4^5 |
<< | 左移 | 4<<2 |
>> | 右移 | 4>>2 |
运算符的优先级:
一元运算符优于二元运算符,例如3 ** -2等价于3 ** (-2)。
算术运算符优于移位运算符优于逻辑运算符,例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7。
逻辑运算符一定是最后的,例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)。
三元运算符
三元操作符的条件表达式可以使用一条语句来完成条件判断和赋值操作。
其他操作符
in、not in、is、not is(存在、不存在、是、不是)
a = "hi"
b = "hi"
print(a == b, a is b)
#True True
c = 0
d = 0
print(c == d, c is d)
#True True
e = [0]
f = [0]
print(e == f, e is f)
#True False
g = {0}
h = {0}
print(g == h, g is h)
#True False
j = (0, 1)
k = (0, 1)
print(type(j))
# <class 'tuple'>
print(j == k, j is k)
# True True ??元组
变量j、k是元组,内存地址会改变,用is做判断的结果咋是True呢?迷惑脸==
总结:
==, != 对比的是两个变量的值
is, is not 对比的是两个变量的内存地址
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
变量和赋值
使用变量之前要对变量赋值
python对大小写是敏感的
变量名可以包含数字字母和下划线,但是不能以数字开头
数据类型和转换
整数型 int
浮点型 float
布尔型 bool
type() 可以用来查看变量类型
isinstance()可以用来判断变量类型是否是自己猜想的那样
print(isinstance(4, int))
#True
常用isinstance()判断两个变量类型是否一致
int() 转成整型
str()转成字符串
float()转成浮点型
python里的对象(object)对应着方法和属性,可以用dir()查看对象相应的方法和属性
变量下划线四中表达方式分别代表的含义可参考以下博文:变量下划线4中表达方式的含义
关于浮点型数据保留几位小数的命令:
import decimal
from decimal import Decimal
a = decimal.getcontext()
print(a)
# Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow
b = Decimal(1/3)
print(b)
# 0.333333333333333314829616256247390992939472198486328125
c = Decimal(1)/Decimal(3)
print(c)
#0.3333333333333333333333333333
decimal.getcontext().prec =2
c = Decimal(1)/Decimal(3)
print(c)
#0.3
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200722112140249.png
布尔型变量只能取两个值,True 和False。在数值运算中,只能取1和0。创建布尔型变量的方法有两种,一种是直接给变量赋值,赋予True或False,另一种是用bool(x),x可以是容器型变量(str、list、tuple、dict、set)或者是基本形变量(int、float、bool)。
print()函数
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
将对象以字符串表示的方式格式化输出到流文件对象file里。
关键字参数 sep= ’ ’ 表示多个参数输出时,中间的分隔符
的形式,默认为空。
关键字参数 end= ’ ’ 默认每次输出都是以换行结尾。
2、 练习题
(1)、怎样对python中的代码进行注释?
#、三个单引号、三个双引号
(2)、python有哪些运算符,这些运算符的优先级是怎样的?
算术运算符(加减乘除整除取余幂)
比较运算符、逻辑运算符(与或非)
位运算符(位运算符只适用于整数,按整数的二进制位进行运算)
三元运算符
其他运损符(是 不是 存在 不存在)
先乘除后加减,如有括号先算括号里面的
逻辑运算符放最后
算术运算符>位运算符>比较运算符>逻辑运算符
(3)、python 中 is, is not 与 ==, != 的区别是什么?
==, != 比较的是变量值
is, is not 比较的是变量存储的地址
(4)、python 中包含哪些数据类型?这些数据类型之间如何转换?
整型、浮点型、布尔型
int()
float()
str()