一、学习知识点概要
1、单行注释和多行注释,# ''' ''' """ """
2、各种运算符,常用的有算术运算符,逻辑运算符,比较运算符
3、变量的赋值
4、转换类型
5、最基本的print()函数
二、学习内容
我就挑难点的和易忘的和常用的讲
1、运算符
1)算术运算符
使用 / 得到的数字一般为浮点数(带有小数点的数,因为小数点可移动),即使能够整除得到的结果也为浮点数
而两个整数 // 得到的即为int()类型的整数,但是一个整数和一个浮点数 // 得到的结果为浮点数
使用//得到的都是比真正的商要小的数,会舍去商的小数部分
总结算术运算符:/ 就是大家熟知的除法,% 是求余数,// 是求商
2)位运算符
这会涉及到二进制和原码,补码和反码的知识
https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html感兴趣的可以点开链接了解原码,补码和反码的知识
print(bin(4)) # 0b100
print(bin(5)) # 0b101
print(bin(~4), ~4) # -0b101 -5 (~则将补码中的0变为1,1变为0,最后转换为原码)(反码将原码的0变为1,1变为0;补码则是反码+1)但简单来说就是x = -(x+1)
print(bin(4 & 5), 4 & 5) # 0b100 4(1为真,0为假,两真则为真)
print(bin(4 | 5), 4 | 5) # 0b101 5 (有真则为真)
print(bin(4 ^ 5), 4 ^ 5) # 0b1 1 (两个相反为真,两个相同为假)
print(bin(4 << 2), 4 << 2) # 0b10000 16 (向左移两位)
print(bin(4 >> 2), 4 >> 2) # 0b1 1 (向右移两位)
3)其他
一元运算符只有一个操作对象
二元运算符则有两个操作对象
三元运算符则有三个操作对象
if 判断条件:
执行语句1
else:
执行语句2
2、数据类型和转换
在Python中1和有元素代表Ture,0和无元素代表Flase (bool)
数字字符串可用int()转换为整数
数字也可以被str()转换为字符串
type(object) 获取类型信息
sinstance(object, classinfo)`判断一个对象是否是一个已知的类型。
3、print函数
\n的意思是换行
end='' 可以解决print函数自动换行的问题
sep参数是用来设定print()中的多个对象之间的连接符号是什么,原本print()默认是空格
三、学习问题与解答
decimal模块是什么意思,可以用来干嘛?
当浮点数进行运算时会出现丢失精度,导致结果不对的问题
print(0.1 + 0.2) #0.30000000000000004
因此要使用decimal模块
#浮点数进行运算会丢失精度,导致结果不正确,原因在计算机的二进制运算
#decimal模块能将二进制转换为十进制,使结果正确
import decimal
a = 0.1
b = 0.3
print(decimal.Decimal(str(b)) - decimal.Decimal(str(a))) # 0.2
print(decimal.Decimal(b) - decimal.Decimal(a)) #0.1999999999999999833466546306
#如果要不丢失精度Decimal类中必须要接收的是 str类型,如果还是传入 float类型,那么精度还是会丢失
如何让一个数字四舍五入,如何让计算更精确?
四、学习总结与思考
1.我认识到了提高计算机计算精度很重要,为此我们需要运用各种方法来保证计算机的精度,例如decimal
2.我们可以使用type来查看对象的类型避免出错
3.学习过程中要学会自己上网查阅各种资料
练习题
1.怎样对python中的代码进行注释?
单行使用#,多行使用""" """
2.python有哪些运算符,这些运算符的优先级是怎样的?
有算术运算符,比较运算符,逻辑运算符,位运算符,三元运算符,其他运算符
优先级:1.一元运算符高于二元运算符
2.先算术运算符(+-/*),再移位运算符(>><<),后位运算符(~|&),最后逻辑运算符(and or not)
3.比较运算符高于逻辑运算符,有括号括号先
3.python 中 `is`, `is not` 与 `==`, `!=` 的区别是什么?
is, is not 对比的是两个变量的内存地址
==,!= 对比的是两个变量的值
当两个变量指向的是内存地址不变的类型时两者是等同的,但当两个变量指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
4.python 中包含哪些数据类型?这些数据类型之间如何转换
共有int()整型,float()浮点型和bool()布尔型三种
int(x),可将数字转为整形
float(x),可将数值转换为浮点数
str() 可转换为字符串