廖雪峰 | 2.1 数据类型和变量
数据类型
计算机数据:https://www.cnblogs.com/mukekeheart/p/10517298.html
1,整数
英文为integer,简写做int。是正整数、负整数和零的统称,是没有小数点的数字。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x
前缀和0-9,a-f
表示,例如:0xff00
,0xa5b4c3d2
,等等。
2,浮点数
英文名是float。
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,比如,1.23e9
和12.3e8
是完全相等的。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
3,字符串
英文string,简写str。
字符串是以单引号'或双引号"括起来的任意文本。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"
包含的字符是I,',m,空格,O,K
这6个字符。
如果字符串内部既包含'又包含",可以用转义字符\
来标识,比如:
'I'm "OK"!'
4,布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布尔值可以用and
、or
和not
运算。
- and运算是与运算,只有所有都为True,and运算结果才是True
- or运算是或运算,只要其中有一个为True,or运算结果就是True
- not运算是非运算,它是一个单目运算符,把True变成False,False变成True
>>> True and False
False
>>> 5 > 3 and 3 > 1
True
>>> True or False
True
>>> False and False
False
>>> 5 > 3 or 1 > 3
True
>>> not True
False
>>> not 1 > 2
True
布尔值经常用在条件判断中,比如:
if age >= 18:
print('adult')
else:
print('teenager')
5,空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
变量
1,变量不仅可以是数字,还可以是任意数据类型。
2,变量在程序中用变量名表示,变量名必须是大小写英文、数字和_
的组合,且不能用数字开头
3,等号=
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值
例如:
a = 1
t_007 = 'T007'
Answer = True
变量a
是一个整数;变量t_007
是一个字符串;变量Answer
是一个布尔值True
- 变量本身类型不固定的语言称之为动态语言,如Python,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错,如Java
常量
1,所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量(仅为习惯用法)
2,在Python中,有两种除法,一种除法是/
,/
除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数;还有一种除法是//
,称为地板除,只取结果的整数部分;Python还提供一个余数运算%
,可以得到两个整数相除的余数
>>> 10 / 3
3.3333333333333335
>>> 9 / 3
3.0
>>> 10 // 3
3
>>> 10 % 3
1
拓展
1,转义字符\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
2,为了简化,Python还允许用r''
表示''
内部的字符串默认不转义

3,如果字符串内部有很多换行,用
\n
写在一行里不好阅读,为了简化,Python允许用'''...'''
的格式表示多行内容。注:...
是提示符,不是代码的一部分
4,Python的整数没有大小限制;浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
5,数据转换

-
str()
函数能将数据转换成其字符串类型,int类型和float类型数据均可 - `int()函数只能强制转换符合整数规范的字符串类数据。文字形式,比如中文、火星文或者标点符号,小数形式的字符串,不能使用int()函数强制转换。浮点数是可以被int()函数强制转换的,并进行取整处理
- float()函数也可以将整数和数字形式的字符串转换为浮点类型