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

    (1)基本数据类型:

>>> a=10;
>>> b=10.0;
>>> c=True;
>>> d="我在学习Python";
>>> print(a,b,c,d)
10 10.0 True 我在学习Python
>>> print("",type(a),"\n",type(b),"\n",type(c),"\n",type(d),"\n"); #内置函数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),"\n",type(b),"\n",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),"\n",type(b),"\n",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里的类型转换函数,可能有些是不能用的。

Python学习进程(3)Python基本数据类型的更多相关文章

  1. python学习第九讲,python中的数据类型,字符串的使用与介绍

    目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...

  2. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  3. python学习第三讲,python基础语法之注释,算数运算符,变量.

    目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...

  4. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  5. Python学习教程(Python学习视频_Python学些路线):Day06 函数和模块的使用

    Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x ...

  6. python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度

    一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...

  7. Python学习笔记(二)——数据类型

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

  8. 我的Python学习之路 Python的输入输出与基本数据类型

    *** python中的变量不需要事先声明再使用,而可以直接来一个变量名,后面一个赋值,接着一个数据值,如 hw = "hello python",相当于Python能智能的根据你 ...

  9. Python学习笔记(三)数据类型

    在内存中存储的数据可以有多种类型,在Python中,能够直接处理的数据类型有以下几种: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 字典(Dictionary ...

随机推荐

  1. PHPWord使用方法

    官方文档  github地址 一.安装 直接使用composer安装,链接地址 composer require phpoffice/phpword 二.简单使用 require_once 'PhpO ...

  2. python第四周迭代器生成器序列化面向过程递归

      第一节装饰器复习和知识储备------------ 第一节装饰器复习和知识储备------------ def wrapper(*args,**kwargs): index(*args,**kwa ...

  3. spring oauth Role and Authority and scope

    使用hasRole class Grant implements GrantedAuthority{ @Override public String getAuthority() { return & ...

  4. 把world转成html

    本来用php转的 效果不太理想 很不稳定 最后试了下java 效果不错 只记录java的方法好了 其实他们的原理都是一样的啊,都是用到了微软的com 首先是准备工作 下载(明确dll的版本是64位的还 ...

  5. c++标准库之容器

    C++最原始的容器之一是数组.数组的特点有: 1.大小固定 2.单独存在的数组建立在栈上,作为对象成员存在的数组建立在堆上还是栈上则要看作为宿主对象是被建立在堆上还是栈上.栈空间是有限的,所以如果数组 ...

  6. makefile编写---单个子目录编译自动变量模板ok

    1.自动化变量通配符http://blog.sina.com.cn/s/blog_7c95e5850101b38l.html 2.wildcard 使用http://blog.csdn.net/lia ...

  7. hdu 4705(树形DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 思路:反面考虑,用总的方案数减去A,B,C三点在同一路径上的方案数.于是我们可以确定中间点B,在 ...

  8. C++11写算法之选择排序

    选择排序,顾名思义,指从数组后面将最小的值找出来,然后与最前面(指当前位置)值进行交换. 时间复杂度:O(n^2) 空间复杂度:O(1) 此处应用了C++11的auto , lambda , stat ...

  9. 2213 Problem J

    #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm& ...

  10. urllib -- ProxyHandler处理器(代理设置)

    import urllib.requestimport randomimport ssl proxy_list = [ {"https" : "196.61.27.58: ...