学习一门语言,往往都是从Hello World
开始。 但是在一个黑框框中输出一个
“
你好,世界
”
并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本文将从python
中的变量类型开始,为大家详细介绍这门语言,同时也希望对想
学习python开发的同学有所帮助
。
五大标准数据类型
在内存中存储的数据可以有多种类型。
例如,
一个人的名字可以用字符来存储,
年龄可以用数字来存储,
爱好可以用集合来存储等等。
Python
有五个标准的数据类型:
· Numbers
(数字)
· String
(字符串)
· List
(列表)
· Tuple
(元组)
· Dictionary
(字典)
其中属于集合类型的数据类型有
列表、元组及字典
。
0x00. 数字(Numbers)
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number
对象就会被创建:
var1 = 1var2 = 2
del
语句删除一些对象的引用,其语法是:
del var1[,var2[,var3[....,varN]]]]
通过使用del
语句可以删除单个或多个对象的引用。例如:
del var1
del var1, var2
四种不同的数字类型:
· int
(有符号整型)
· long
(长整型
[
也可以代表八进制和十六进制
)
· float
(浮点型)
· complex
(复数)
a. int(整型)
在32
位机器上,整数的位数为
32
位,取值范围为
-2**31
~
2**31-1
,即
-2147483648
~
2147483647
在64
位系统上,整数的位数为
64
位,取值范围为
-2**63
~
2**63-1
,即
-9223372036854775808
~
9223372036854775807
b. long
(长整型)
跟C
语言不同,
Python
的长整数没有指定位宽,即:
Python
没有限制长整数数值的大小,但实际上由于机器内存有限,长整数数值不可能无限大。
注意,自从Python2.2
起,如果整数发生溢出,
Python
会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母
L
也不会导致严重后果了。
c. float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C
语言中的
double
类型,占
8
个字节(
64
位),其中
52
位表示底,
11
位表示指数,剩下的一位表示符号。
d. complex
(复数)
复数由实数部分和虚数部分组成,一般形式为x
+
yj
,其中的
x
是复数的实数部分,
y
是复数的虚数部分,这里的
x
和
y
都是实数。
注:Python
中存在小数字池:
-5
~
257
小整数对象——小整型对象池
在实际编程中,数值比较小的整数,比如1,2,29
等,可能会非常频繁的出现。而在
python
中,所有的对象都存在于系统堆上。想想?如果某个小整数出现的次数非常多,那么
Python
将会出现大量的
malloc/free
操作,这样大大降低了运行效率,而且会造成大量的内存碎片,严重影响
Python
的整体性能。
在Python2.5
乃至
3.3
中,将小整数位于
[-5,257)
之间的数,缓存在小整型对象池中。
0x01. 字符串(String)
字符串或串(String)
是由数字、字母、下划线组成的一串字符。
它是编程语言中表示文本的数据类型。
Python
的字串列表有
2
种取值顺序
:
·
从左到右索引默认
0
开始的,最大范围是字符串长度少
1
·
从右到左索引默认
-1
开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用变量
[头下标:尾下标
,就可以截取相应的字符串,其中下标是从 0
开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
比如:
s = 'i love python'
s[2:6]
的结果是
love
。(顾头不顾尾,或左闭右开)
操作实例:
str = 'Hello World'
print(str) #
输出完整字符串
print(str[0]) #
输出字符串中的第一个字符
print(str[2:5]) #
输出字符串中第三个至第五个之间的字符
print(str[2:]) #
输出从第三个开始到最后的字符串
print(str*2) #
输出字符串两次
print('say: ' + str) #
输出连接的字符串
0x02. 列表(List)
List
(列表) 是
Python
中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
操作实例:
list = ['apple', 'jack', 798, 2.22, 36]
otherlist = [123, 'xiaohong']
print(
list) #
输出完整列表
print(
list[0]) #
输出列表第一个元素
print(
list[1:3]) #
输出列表第二个至第三个元素
print(
list[2:]) #
输出列表第三个开始至末尾的所有元素
print(otherlist * 2) #
输出列表两次
print(
list + otherlist) #
输出拼接列表
0x03. 元祖(Tuple)
元组是另一个数据类型,类似于List
(列表)。
元组用"()"
标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
操作实例与列表相似
0x04. 字典(Dictionary)
字典(dictionary)
是除列表以外
Python
之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"
标识。字典由索引
(key)
和它对应的值
value
组成。
操作实例:
dict = {}
dict[‘one’] = 'This is one'
dict[2] = 'This is two'
tinydict = {'name':'john','code':5762,'dept':'sales'}
print(dict['one']) #
输出键为
'one'
的值
print(dict[2]) #
输出键为
2
的值
print(tinydict) #
输出完整的字典
print(tinydict.keys()) #
输出所有键
print(tinydict.values()) #
输出所有值
来源:博客园