本文共 3030 字,大约阅读时间需要 10 分钟。
和大多数编程语言一样,Python拥有一系列的基本数据类型,比如整型、浮点型、布尔型和字符串等。这些类型的使用方式和在其他语言中的使用方式是类似的。
数字
整型
Python中可以处理
任意大小
的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了)。
Python支持
二进制
(
以0b为前缀
,比如0b100,换算成十进制是4)、八进制(以0o为前缀,比如0o100,换算成十进制是64)、
十进制
(
不加前缀
,100)和
十六进制
(
以0x为前缀
,比如0x100,换算成十进制是256)的表示法。
P.S.:对于计算机来说,二进制在物理器件上来说是最容易实现的(高电压表示1,低电压表示0),于是在“冯·诺依曼结构”的计算机都使用了二进制。
浮点型
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。
浮点数支持数学写法(如123.456)以及科学计数法(如1.23456e2)。
相关运算
x = 3
print type(x) # Prints ""
print x # Prints "3"
print x + 1 # Addition; prints "4"
print x - 1 # Subtraction; prints "2"
print x * 2 # Multiplication; prints "6"
print x ** 2 # Exponentiation; prints "9"
x += 1
print x # Prints "4"
x *= 2
print x # Prints "8"
y = 2.5
print type(y) # Prints ""
print y, y + 1, y * 2, y ** 2 # Prints "2.5 3.5 5.0 6.25"
需要注意的是,Python中没有 x++ 和 x-- 的操作符(对应的是 x += 1 和 x -= 1)。
布尔型
布尔值
只有True、False两种值
,要么是True,要么是False。
在Python中,可以
直接用True、False表示
布尔值(
注意大小写
),也可以通过
布尔运算
计算出来(比如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
Python中的布尔逻辑运算符使用的是英语,而不是我们习惯的操作符(比如&&和||等)。
相关操作
t = True
f = False
print type(t) # Prints ""
print t and f # Logical AND; prints "False"
print t or f # Logical OR; prints "True"
print not t # Logical NOT; prints "False"
print t != f # Logical XOR; prints "True"
字符串
Python中通过
单引号或双引号括起来
来表示字符串,比如 ‘hello’ 和 “hello”。
字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
相关操作
hello = 'hello' # String literals can use single quotes
world = "world" # or double quotes; it does not matter.
print hello # Prints "hello"
print len(hello) # String length; prints "5"
hw = hello + ' ' + world # String concatenation
print hw # prints "hello world"
hw12 = '%s %s %d' % (hello, world, 12) # sprintf style string formatting
print hw12 # prints "hello world 12"
python中的字符串对象有一系列有用的方法:
s = "hello"
print s.capitalize() # Capitalize a string; prints "Hello"
print s.upper() # Convert a string to uppercase; prints "HELLO"
print s.rjust(7) # Right-justify a string, padding with spaces; prints " hello"
print s.center(7) # Center a string, padding with spaces; prints " hello "
print s.replace('l', '(ell)') # Replace all instances of one substring with another;
# prints "he(ell)(ell)o"
print ' world '.strip() # Strip leading and trailing whitespace; prints "world"
详细可以看我的
另外一篇博文
复数型
形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。实际上,这个类型并不能算作常用类型,大家了解下就可以了。
类型检测函数 type()
在Python中可以使用
type
函数对变量的类型进行检查。
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a)) #
print(type(b)) #
print(type(c)) #
print(type(d)) #
print(type(e)) #
类型转换
Python中可以使用内置函数对变量类型进行转换。
int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
思考:Python属于强类型语言还是弱类型语言?
虽然Python中定义变量不需要声明数据类型,但其实Python属于强类型语言,更具体地,是强类型的动态脚本语言。
为什么Python是强类型语言?
所谓强类型语言,就是指一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换(
尤其指数字和字符串
)。比较直观的表现就是,不允许不同类型相加。
比如1+“2” 在python中会报错。
动态语言
: 不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。
脚本语言
:一般是解释性语言,运行代码只需要一个解释器,不需要编辑。
转载地址:http://bwyms.baihongyu.com/