第二课提纲
一、注释 | 单行注释 | # |
多行注释 | ‘’‘ | |
二、变量 | 变量声明 | 内存管理 |
变量类型 | type(x) | |
isinstance(x,int) | ||
三、数字运算 | 实数相加减 | |
复数相运算 | ||
四、运算符与表达式 | 算术运算符 | + |
* | ||
/和// | ||
% | ||
** | ||
关系运算符 | >和< | |
测试运算符 | 成员测试运算符in | |
同一性测试运算符is | ||
位运算符和集合运算符 | 位运算符 | |
集合运算符 | ||
补充说明 | ++和-- |
一、注释
Python中的注释分为两种
单行注释, 用#注释
多行注释,将需要注释的内容前后加三个单引号(’’’)或者三个双引号(”””)括起来(英文格式下的引号)
其效果如图所示。b和e被多行注释,d被单行注释,所以只有a和c被打印出来
图1 注释图
图2 注释输出图
二、变量声明及变量类型
在python中,不需要事先声明变量名及其类型,直接赋值即可创建任意类型的对象变量。不仅变量的值是可以变化的,变量的类型也是随时可以发生改变的。
这是什么意思呢?看代码就好。
图3 变量声明
图4 变量类型
由此可见,abc的变量类型分别是整型、字符串型和列表型(后面会提到列表型),这也就说明了变量的值是可以变化的,是根据赋值的类型而决定的变量的类型。
那么“变量的类型也是可以随时变化”是什么意思呢?图5 变量类型可以随时变化
如图5所示,变量a经过三次幅值,其三次类型均不同,说明变量的类型是可以随时变的。【知识点2】 检测变量类型的方法
用type(x),可直接输出x的类型
用isinstance(x,int),返回true和false就是判断x是否为整型
图5 判断变量类型
【知识点3】 基于值的内存管理模式
Python采用基于值的内存管理模式,幅值语句的执行过程是:首先把等号右边的表达式的值提取出来,然后在内存中找一个位置把值放进去,最后创建变量并指向这个内存地址。Python中的变量并不直接存储值,而是存储了值的内存地址或者引用,这是是变量类型随时可以改变的原因。三、数字运算
1.实数相加减注意的问题
【知识点4】 实数相加减的注意事项
实数相加:
>>>0.3+0.20.5
没什么毛病
实数相减:
>>>0.4-0.10.30000000000000004
和想象中的不太一样。这是由于精度问题,对于实数的运算存在一定的误差,要避免两个实数之间的直接相等性测试。如果要测试,则改为:>>> abs(0.4-0.1-0.3)<1e-6True
(1e-6表示10的-6次方)
2.复数运算
复数运算用j或者J表示虚部。在python中和其他语言一样,可直接输入相应操作。图6 复数相关运算程序和结果
四、运算符与表达式
1.算术运算符
①+:除了用于算数加法外,还有列表、元组、字符串的连接,但不支持不同类型的对象的连接。

②*:除了用于算数乘法外,还用于列表、元组、字符串这几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。
图8 *的重复操作
③ /和//:分别表示算数除法和算术求整商
图9 /和//的除法和求商操作
④ %:用于整数或实数的求余数运算,也可以用于字符串的格式化(不推荐)
图10 %的取余操作
⑤ **:表示乘幂,等价于内置函数pow()
图11 **的乘幂操作
2.关系运算符
>和
图12 >和
3.测试运算符
① 成员测试运算符in:测试一个对象是否为另一个对象的元素
图13 in的成员测试操作
② 同一性测试运算符is:测试两个对象是否是同一个,如果是同一个,则具有相同的内存地址。
图14 is的同一性测试操作
4.位运算符和集合运算符
① 位运算符:只能用于整数
图15 位运算操作
② 集合运算符:集合的概念和高中学的那个集合差不多,就是差交补运算
图16 集合运算操作
5.补充说明
【知识点5】 python中的++和--
Python中的++和—与其他语言是不一样的,其并不代表自+1和自-1的特征。具体实验如下图所示,可以很好的理解++和—
图17 ++和—的特殊操作
点击留言