Python学习进程(3)Python基本数据类型

    本节介绍在Python语法中不同的变量数据类型。

    (1)基本数据类型:

>>> a=10;
>>> b=10.0;
>>> c=True;
>>> d="我在学习Python";
>>> print(a,b,c,d)
10 10.0 True 我在学习Python
>>> print("",type(a),"
",type(b),"
",type(c),"
",type(d),"
");  #内置函数type()可以查询变量的类型
 <class 'int' at 0x58C569A8>
 <class 'float' at 0x58C54AE0>
 <class 'bool' at 0x58C4A0D8>
 <class 'str' at 0x58C5CBB0>

    Python 中的变量赋值不需要类型声明;Python 中的基本数据类型有整型、浮点型、布尔型、字符串型。

    Python支持多个变量同时赋值:

>>> a=b=c=8j;
>>> print(a,b,c)
8j 8j 8j
>>> print(type(a));
<class 'complex' at 0x58C4E418>
>>> a,b,c=1/2,5.6/2.8,4>5;
>>> print("",type(a),"
",type(b),"
",type(c))
 <class 'float' at 0x58C54AE0>
 <class 'float' at 0x58C54AE0>
 <class 'bool' at 0x58C4A0D8>

    每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

    (2)标准数据类型:

Python有五个标准的数据类型:
1.Numbers(数字)
2.String(字符串)
3.List(列表)
4.Tuple(元组)
5.Dictionary(字典)

    1)Python数字:(数字数据类型用于存储数值)

>>> a=10;
>>> b=10.0;
>>> c=10j;
>>> print("",type(a),"
",type(b),"
",type(c));
 <class 'int' at 0x58C569A8>
 <class 'float' at 0x58C54AE0>
 <class 'complex' at 0x58C4E418>
>>> d=1234567891011121314
>>> print(type(d))
<class 'int' at 0x58C569A8>

    Python数字有三种类型整型、浮点型和复数类型。整型是不需要限制位数的。

    可以用complex构造复数:

>>> c=complex(4,6)
>>> print(c)
(4+6j)
>>> d=4+6j
>>> print(d)
(4+6j)

    用del回收变量:

>>> a=10
>>> a
10
>>> del a
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

    2)字符串:(字符串或串(String)是由数字、字母、下划线组成的一串字符。)

    它是编程语言中表示文本的数据类型。

    python的字串列表有2种取值顺序:

  1.从左到右索引默认0开始的,最大范围是字符串长度少1;

  2.从右到左索引默认-1开始的,最大范围是字符串开头。

>>> a="I love Python!"
>>> a[2:6]
'love'
>>> a[5:1:-1]
'evol'
>>> print(a+" Hello World!") //输出拼接的字符串
I love Python! Hello World!
>>> print(a*2)               //输出两次字符串
I love Python!I love Python!
>>> print(a[13:0:-1])       
!nohtyP evol_                  // _代表空格 

    上述的方法是不能直接实现倒序输出字符串的,下面是一种方法:

sunjimeng@SJM:~/文档$ cat text.py
a="上海自来水来自海上";
print(a[8:0:-1]);
for i in range(9):
  print(a[8-i]);
sunjimeng@SJM:~/文档$ python3.5 text.py
上海自来水来自海
上
海
自
来
水
来
自
海
上

    3)列表:(列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。)

    列表用[ ]标识。是python最通用的复合数据类型。

    列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

    加号(+)是列表连接运算符,星号(*)是重复操作。

sunjimeng@SJM:~/文档$ python3.5
Python 3.5.2 (default, Jul 17 2016, 11:52:15) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.>>> normal_list=['字符串',123,4+8j,['列表里的列表',4/2]]
>>> tiny_list=['你好',122]
>>> print(normal_list)                    //1.输出完整的列表
['字符串', 123, (4+8j), ['列表', 2.0]]      
>>> print(normal_list[3])                 //2.输出指定的列表元素
['列表', 2.0]
>>> print(tiny_list*2)                    //3.输出两次指定结果
['你好', 122, '你好', 122]

    4)元组(元组是另一个类似于List的数据类型)

    元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

>>> tuple=('静态列表',122,True)
>>> tiny_tuple=(4j,('你好',True),122)
>>> print(tiny_tuple[2])
122
>>> print(tuple)
('静态列表', 122, True)

    元组与列表的对比:

>>> list=['字符串',122,5j]
>>> tuple=('你好',234,5/4)
>>> list
['字符串', 122, 5j]
>>> tuple
('你好', 234, 1.25)
>>> list[1]='xg'
>>> list
['字符串', 'xg', 5j]
>>> tuple[1]=True
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

    list允许修改其中的元素,tuple不允许修改元素。list和tuple都相当于一个引用,他们是可以引用新的列表或元组的:

>>> print(tuple)
('静态列表', 122, True)
>>> list
['abcd', 786, 2.23, 'john', 70.2]
>>> list=["修改后的列表"]
>>> tuple=('修改后的元组',123)
>>> tuple
('修改后组', 123)

    5)sequence 序列

    sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素) 。

    序列可以包含一个或多个元素,也可以没有任何元素。我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。

    序列有两种:tuple(定值表; 也有翻译为元组)和list (表)。

    6)元字典(除序列以外的最灵活的数据结构)

    列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    字典用"{}"标识。字典由索引(key)和它对应的值value组成:(键值对)

>>> sjm = {}
>>> sjm['age'] = 122
>>> sjm['name']='sunjimeng'
>>> sjm['ch_name']='孙继锰'    //注意用单引号
>>> print(sjm)
{'age': 122, 'name': 'sunjimeng', 'ch_name': '孙继锰'}
>>> hhj={'name':'ningcaichen','age':18}
>>> hhj
{'age': 18, 'name': 'ningcaichen'}

    (3)数据类型转换:

    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

    以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 

 

     这些是老版本的Python里的类型转换函数,可能有些是不能用的。

原文地址:https://www.cnblogs.com/MenAngel/p/5679089.html