‘壹’ python中的类型转换都有什么,用在什么场景下
1.字符串(string)
示例: '余庆','yuqing','123','Hello!'
特点: 用引号括起来的文本。
转换方式: 使用str()函数转换,str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。就能成为字符串类型。
2.整数(int)
示例:-1,0,1,2,123
特点:不带小数点和引号的普通数字。
转换方式:使用int()函数转换, 只有符合整数规范的字符串类数据,才能被int()函数强制转换。
(注:整数形式的字符串比如'6'和'1',可以被int()函数强制转换。其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。
最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。)
(注:int()函数的本质是将数据转换为整数。对于浮点数,int()函数会做取整处理。int()函数会直接抹零,直接输出整数部分。)
3.浮点数(float)
示例:-0.33,3.1415926,1.0
特点:带小数点的数字,运算结果会存在误差。
转换方式:使用float()函数转换,float()函数也可以将整数和字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。
‘贰’ “python为什么 -30//7=5”
“//”是速数除法。
它的结果并不是丢弃小数,而是向负无穷大方向舍入。简单的说就是返回不大于商的一个整数。
即,4.2舍入为4,-4.2舍入为-5。
类似于java中的Floor()。
比如我们在做交易抹零的时候就可以这样来抹除"分":
fee=3.35
fee=fee//0.1/10#3.3
这样看似和
fee=int(fee*10)/10
相差不大,但老虑到退款时,fee为负数的情况,客人可能不接受退他3.3元而只能接受退他3.4元,所以就需要使用整数除法了。因为-3.35//0.1/10是-3.4