【补充中...】
html
name = '小石头:' print(name,'2019', '12', '24') # 小石头: 2019 12 24 print("平安夜,祝你一辈子平安。Merry Christmas!") # 平安夜,祝你一辈子平安。Merry Christmas!
以上,包裹在单引号和双引号里边的内容,如‘小石头’
、‘2019’
这些就是字符串。python
换言之,但凡包裹在英文格式下的 单引号、双引号或三引号 里的内容,不论引号里边是英文、中文、甚至是数字、符号、火星文等,她都叫作字符串。git
整数:英文为integer,简写作int。github
year = 2019 month = -12 # 能够为负数 day = -24 + 12 # 能够作运算 print('Today is',year,month,day) # Today is 2019 -12 -12
以上,2019
、12
、24
这三个都是整数。函数
没有引号包裹的、没有小数点的、整数数字,就是整数类型。工具
注意⚠️:一旦数字被引号包裹,他就是字符串类型。code
浮点数: 英文名是float,与整数(int)和字符串(str)不一样。htm
浮点数没有简写。
不过很是好识别,它比整数多了一个小数点『. 』。ip
换言之,带小数点的数字便是浮点数。字符串
好比下列代码中的数字都是浮点数。
print(20.19) # 20.19 print(-12.25) # 能够为负数 # -12.25 print(520.1314 + 07.11) # 能够作数学运算 # 527.2414
注意⚠️:一样不能有引号包裹。
浮点数还有一个计算结果有精度偏差的问题。详见下边番外篇。
type()函数
查询、获取数据的类型。
既然存在不一样的类型,咱们就须要一个类型检查工具,来告诉咱们这个数据到底是什么类型。
只需把查询的内容放在括号里就行。
name = '俺是字符串' value = 123 flr = 12.4 numberStr = '123' # 以下使用type: print(type(name)) # <class 'str'> print(type(value)) # <class 'int'> print(type(flr)) # <class 'float'> print(type(numberStr)) # <class 'str'> 尽管是123数字,只要包裹在英文引号中就是字符串
如上打印结果,表明类型的样式为<class '类型'>
。其中:
str表明字符串,全称为string
整数的英文简称为int,全称为integer
float就是浮点数类型
所谓,道不一样不相为谋,不一样类型的数据不能拼接在一块儿。也不能一块儿共事。为了让他们一块儿共事,就有了类型转换这么一个“和稀泥”的操做:
python是类型严格的语言,不像JS那样的若类型语言,会自动进行类型的隐式转换。因此当不一样类型的数据进行结合时,须要咱们手动强制进行类型转换。
强类型语言里,不一样类型的数据之间须要进行类型转换才能一块儿“共事”。
好比,1+'1'
这么写,在js中确定没问题,由于会进行隐式类型转换,把数字1变成字符串1,而后就变成了字符串拼接,最后的到11。
可是python不会进行隐式类型转换,他发现你用数字1+字符串1,就会报语法错误。
所以当咱们把两个不一样类型的数据进行结合处理时,应该手动将其中一方的类型转换统一成跟另外一方同样的。
依旧以1+'1'
为例,进行手动类型转换的方法示例:
a = 1 b = '1' # print(a + b) # # 这么写报错。改正以下: print(a + int(b)) # 2,将字符串转换为int类型,进行加法运算 print(str(a) + b) # 11,将整数转为字符串类型,进行字符串拼接。
负责转换数据类型的函数一共有3种:str()、 int()和float()。
str()函数能将数据转换成其字符串类型,无论这个数据是int类型仍是float类型,只要放到括号里。这个数据就能成为字符串类型。
运用:
# str() who = '我' age = 18 item = '岁' print(who+str(age)+item) # 我18岁 #经过str(age)一个步骤,能够将整数类型的【18】转化为字符串类型的【'18'】,成功完成数据拼接。
以上是一种整数转换为字符串的方法。
借用【引号】的帮助,直接将数字转为字符串:
# str() who = '我' age = 18 item = '岁' print(who+'18'+item) # 我18岁
缺陷:引号内咱们使用的是数字,而不是变量名age。这是由于,当咱们使用引号时,引号里的东西,都会被强制转换为字符串格式。若是使用变量名age,这里就会把age这个变量名转换为字符串,打印出“我age岁”
将其余数据转换为整数类型。当参数为小数时,会作抹零、取整
处理。不会进行四舍五入的哦!
使用方法同str()同样,将你须要转换的内容放在括号里就行,像这样:int(转换的内容)。
# int num1 = '1' num2 = '8' print(int(num1)+int(num2)) # 9
首先,整数形式的字符串好比'1'和'8',能够被int()函数强制转换。
其次,文字形式,好比中文、火星文或者标点符号,不能够被int()函数强制转换。
print(int('1.8')) # ValueError: invalid literal for int() with base 10: '1.8' # (值异常:浮点类型字符串没法使用int()强制转换)
虽然浮点形式的字符串,不能使用int()函数。但浮点数是能够被int()函数强制转换的
能够先将字符串转换为浮点类型,再将浮点数转换为int类型。
print(int(float('1.8'))) # 1,先将字符串'1.8'转换为浮点数1.8,再直接对浮点数1.8取整的到数字1
将须要转换的数据放在括号里,像这样:float(数据)。
float()函数也能够将整数和字符串转换为浮点类型。
但同时,若是括号里面的数据是字符串类型,那这个数据必定得是数字形式。如'2.3'
,'52.1'
这样,而不是'我是汉子'
这样的纯文字
weight = 43.2 print(float(height)) # 43.2
Python里的整数、浮点数和数学意义的整数、小数是同样的,它最重要的做用是与运算符号结合,进行数学计算。
运算符 | 含义 | 示例 |
---|---|---|
+ | 加 | 1 + 1 |
- | 减 | 2 - 1 |
* | 乘 | 1 * 2 |
/ | 除 | 4 / 2 |
% | 取模 - 返回除法的余数 | 5 % 2 获得5除以2的余数 |
** | 幂 - 返回x的y次幂 | 2 ** 3 获得2的3次方 |
// | 取整除 - 返回商的整数部分 | 11 // 2 获得11/2的商再取整 |
对上表中的运算符写几个例子运行一下:
# 运算符示例 print(20+19) # 39 print(2020-1993) # 27 print(20191231*20200101) # 407864905514331 print(2020/10) # 202.0 print(23%45) # 23 print(2**3) # 8 print(11//2) # 5
和咱们平时的计算优先级是同样的:
从左到右计算,括号里的优先计算。
先乘除,后加减。
# 先口算,再运行,看你算的对不对。 print(1234*124+325235-1251) print((6236-124)/125+326*23)
这就和Javascript中的同样了
很是简单,就是利用字符串拼接符号【+】,将须要拼接的变量连在一块儿就好了。
# 字符串拼接示例 a = '我' b = '叫' c = '小' d = '石' e = '头' print(a+b+c+d+e) # 我叫小石头
切记⚠️:作字符串拼接也好、运算符表达式也好,+号或其余符号两边的数据类型必须一致,不然会报错TypeError(详见第三篇错误类型合集B项错误记载)。
运算下边的代码:
print(0.55+0.3) # 0.8500000000000001
发现打印结果并不显而易见的0.85,而是0.8500000000000001。
为何不是【0.85】,而尾巴多了一个【1】呢?这是由于,Python计算浮点数时,会先把0.55和0.3转化成二进制数【注:二进制数由0和1表示,逢二进一】,以下:
# 进制转换 0.55(十进制) = 0.1000110011001100110011001100110011001100110011001101(二进制) 0.3(十进制) = 0.0100110011001100110011001100110011001100110011001101(二进制)
而在这个转化过程当中存在偏差,这样,就形成了咱们与程序计算结果的差别。
而后,这俩二进制数经过二进制法则运算后,再经过复杂的计算公式,将二进制结果转成十进制小数。
2019.12.31