在之前的文章我们介绍了一下 Python 中 if while for 的使用,本章我们来看一下 Python 中的变量类型。

在 Python 定义变量时的规则是 变量名 = 变量 ,Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在内存中存储的数据可以有多种类型。

例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

我们先来看一下 Python 中的 Number 类型和 String 类型

1 a = 10

2 b = 20

3 c = "10"

4 d = "20"

5 print(type(a), type(b), type(c), type(d)) #int int str str

6 print(type(str(a)), type(b), type(int(c)), type(d)) #str int int str

7 print(a + b) #30

8 print(c + d) #1020

9 print(a + c) #TypeError: unsupported operand type(s) for +: 'int' and 'str'

在声明变量时,如果变量是数字且没有加双引号 " " 或单引号 ' ',则该变量为 Number 类型,如果变量是以双引号 " " 或单引号 ' ' 包起来,无论变量内容是什么,都是一个 String 类型。

我们可以通过 type(变量) 来输出判断变量的类型。

如果变量为纯数字,则可以通过 int(变量) 将 String 类型变量转换为 Number 类型的 int 值,可以通过 str(变量) 将 Number 类型变量转换为 String 类型变量。

Number 类型变量如果通过 + 连接则表示算数运算,String 类型变量如果通过 + 连接则表示字符串的拼接,Number + String 会报错。

1 name = "zhangsan"

2 print(name[1]) #h

在上面的字符串中我们可以通过下标的形式可以获取到某一个字母,如果我们想通过下标的形式获取过个字母,也就是一个字符串,那么我们可以使用列表。

List(列表) 是 Python 中使用最频繁的数据类型。

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

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

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

加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

1 list1 = ['python', 786, 2.23]2 list2 = [123, 'hello']3 print(list1) #输出完整列表 ['python', 786, 2.23]

4 print(list1[0]) #输出列表的第一个元素 python

5 print(list1[1:3]) #输出第二个至第三个元素 [786, 2.23]

6 print(list1[2:]) #输出从第三个开始至列表末尾的所有元素 [2.23]

7 print(list1 * 2) #输出列表两次 ['python', 786, 2.23, 'python', 786, 2.23]

8 print(list1 + list2) #打印组合的列表 ['python', 786, 2.23, 123, 'hello']

Python 中有一种列表相似的数据类型,元组,

元组是另一个数据类型,类似于 List(列表)。

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

将上面的列表 list1 和 list2 的 [ ] 改为 ( ) 即变成了元组

1 list1 = ('python', 786, 2.23)2 list2 = (123, 'hello')3 print(list1) #输出完整列表 ('python', 786, 2.23)

4 print(list1[0]) #输出列表的第一个元素 python

5 print(list1[1:3]) #输出第二个至第三个元素 (786, 2.23)

6 print(list1[2:]) #输出从第三个开始至列表末尾的所有元素 (2.23)

7 print(list1 * 2) #输出列表两次 ('python', 786, 2.23, 'python', 786, 2.23)

8 print(list1 + list2) #打印组合的列表 ('python', 786, 2.23, 123, 'hello')

我们发现元组的输出结果和列表的输出结果是完全一样的,我们再来看一下列表和元组的不同之处:

1 list = ['python', 786, 2.23]2 tuple = ('python', 786, 2.23)3 list[1] = 1000

4 print(list) #1000

5 tuple[1] = 1000

6 print(tuple) #TypeError: 'tuple' object does not support item assignment

以上代码我们可以看出列表是可以重新赋值的,但元组值是只读模式,无法重新赋值,但我们可以通过元组合列表间的相互转换来对元组进行重新赋值,如下

1 tuple1 = ('python', 786, 2.23)2 tuple1 =list(tuple1)3 print(tuple1) #['python', 786, 2.23]

4 tuple1[1] = 1000

5 print(tuple1) #['python', 1000, 2.23]

6 tuple1 =tuple(tuple1)7 print(tuple1) #('python', 1000, 2.23)

8 tuple1[1] = 786 #TypeError: 'tuple' object does not support item assignment

接下来我们看一下 Python 中的字典。

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

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

1 dict ={}2 dict['one'] = "This is one"

3 dict[2] = "This is two"

4

5 tinydict = {'name': 'zhangsan', 'age': 30, 'city': 'beijing'}6

7 print(dict['one']) #输出键为'one'的值 This is one

8 print(dict[2]) #输出键为 2 的值 This is two

9 print(tinydict) #输出完整的字典print {'name': 'zhangsan', 'age': 30, 'city': 'beijing'}

10 print(tinydict.keys()) #输出所有键 dict_keys(['name', 'age', 'city'])

11 print(tinydict.values()) #输出所有值 dict_values(['zhangsan', 30, 'beijing'])

Python数据类型转换

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

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

函数描述

将x转换到一个浮点数

将对象 x 转换为字符串

将对象 x 转换为表达式字符串

用来计算在字符串中的有效Python表达式,并返回一个对象

将序列 s 转换为一个元组

将序列 s 转换为一个列表

转换为可变集合

创建一个字典。d 必须是一个序列 (key,value)元组。

将一个整数转换为一个字符

将一个整数转换为Unicode字符

将一个字符转换为它的整数值

将一个整数转换为一个十六进制字符串

将一个整数转换为一个八进制字符串

python的进阶之路_Python 从入门到进阶之路(三)相关推荐

  1. python根据品种散点图鸢尾花_python机器学习入门到精通--实战分析(三)

    利用sklearn分析鸢尾花 前面两篇文章提到了机器学习的入门的几个基础库及拓展练习,现在我们就对前面知识点进行汇总进行一个简单的机器学习应用,并构建模型. 练习即假定一名植物专家收集了每一朵鸢尾花的 ...

  2. python dfs算法_python从入门到进阶,就靠这份书单了

    自2018年3月起,在全国计算机二级考试中加入了"Python语言程序设计"科目. 从 2018 年起,浙江省信息技术教材将不会再使用晦涩难懂的 VB 语言,而是改学更简单易懂的 ...

  3. python爬虫 入门+进阶_python爬虫入门到进阶(三)

    本节: 带Cookies的访问 设置headers访问绕过网站检测 设置Headers 有些网站会验证访问者是否合法,所以上一节的访问方式在一些网站就会失灵 ,网站对请求不予以响应,为了模拟浏览器工作 ...

  4. python 注释一段话_Python快速入门(一)

    引言 Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业.它易学好懂,拥有着丰富的库,功能齐全.人生苦短,就用Python. 这个快速入门系列分为六篇,包含了Python大部分基础知识 ...

  5. Python实现消息轰炸效果,从入门到进阶

    本期小编给大家带来的内容是:使用Python实现消息轰炸效果,消息轰炸的用途这里小编就不再赘述,老样子直接进入正题! 要实现消息轰炸效果,首先要借助Python第三方库-pyautogui,原理很简单 ...

  6. python开发app的软件_python编程入门APP

    python编程入门APP是一款非常实用的编程学习软件,软件是专门为刚接触python编程的朋友们准备的.在这里可以找到各种学习内容,适用于各个年林短的人学习,大家可以根据自己的需求选择学习即可.软件 ...

  7. python便捷数据怎么获取_Python数据分析入门——从数据获取到可视化

    基本信息 作者: 沈祥壮 ISBN:9787121336539 上架时间:2018-3-22 出版日期:2018 年3月 开本:16开 页码:260 版次:1-1 [插图] 编辑推荐 了解基本的Pyt ...

  8. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  9. python终结一个循环额_Python语言入门之内存管理方式和垃圾回收算法解析

    本文主要向大家介绍了Python语言入门之内存管理方式和垃圾回收算法解析,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在列表,元组,实例,类,字典和函数中存在循环引用问题.有 ...

最新文章

  1. Yoshua:深度学习AI迈向人类水平的挑战(附PPT下载)
  2. java调用存储过程 oracle_java调用oracle存储过程
  3. 使用libcurl开源库和Duilib做的下载文件并显示进度条的小工具
  4. abap判断当前月最后一个工作日_油价正式打响第一枪!今天12月3日,今晚油价迎来大幅暴跌,调价后全国地区油价一览!...
  5. Anaconda:Anaconda安装pytorch网络连接失败记录
  6. 【每周CV论文推荐】 初学者必须精读的5篇深度学习优化相关文章
  7. 现代谱估计:Blackman-Tukey 相关图
  8. python sendline_python Pexpect模块的使用
  9. 网页中显示xml,直接显示xml格式的文件
  10. 77. PHP 文件读取
  11. 一步一步搭建前端监控系统:如何记录用户行为?
  12. python上的包嗅探
  13. java具名参数_Spring JDBC 框架中, 绑定 SQL 参数的另一种选择:具名参数(named parameter)...
  14. 易语言 执行java_CallJava易语言调用JAVA代码
  15. 中国计算机制造业比较优势分析,在全球产业链中,中国制造业拥有哪些显著的比较优势?()...
  16. Mozilla CEO和Firefox OS联合创始人Andreas Gal离职创业
  17. 【Win10高分辨率缩放】Win10系统画面图标太小
  18. 4.2 char类型介绍
  19. JVM之垃圾回收-相关名词解释
  20. 为什么Math.abs(Integr.MIN_VALUE)==Integer.MIN_VALUE 1

热门文章

  1. 探索多媒体开发最新最佳实践,我们在深圳等你
  2. 王荣刚:视频画质评定是个“大坑”
  3. EasyRTMP CPU占用问题调优(一)
  4. epoll机制:epoll_create、epoll_ctl、epoll_wait、close
  5. MySql 5.7.19 源代码安装 for ubuntu 16.04
  6. Spark _15 _广播变量和累加器
  7. 怎么对Java服务进行调优的?
  8. 【Java】什么是CAS、synchronized升级概述、偏向锁/轻量级锁详解 - 笔记
  9. 密码学系列之:IDEA
  10. 计算机dns的工作原理,DNS的工作原理图解说明