python的进阶之路_Python 从入门到进阶之路(三)
在之前的文章我们介绍了一下 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 从入门到进阶之路(三)相关推荐
- python根据品种散点图鸢尾花_python机器学习入门到精通--实战分析(三)
利用sklearn分析鸢尾花 前面两篇文章提到了机器学习的入门的几个基础库及拓展练习,现在我们就对前面知识点进行汇总进行一个简单的机器学习应用,并构建模型. 练习即假定一名植物专家收集了每一朵鸢尾花的 ...
- python dfs算法_python从入门到进阶,就靠这份书单了
自2018年3月起,在全国计算机二级考试中加入了"Python语言程序设计"科目. 从 2018 年起,浙江省信息技术教材将不会再使用晦涩难懂的 VB 语言,而是改学更简单易懂的 ...
- python爬虫 入门+进阶_python爬虫入门到进阶(三)
本节: 带Cookies的访问 设置headers访问绕过网站检测 设置Headers 有些网站会验证访问者是否合法,所以上一节的访问方式在一些网站就会失灵 ,网站对请求不予以响应,为了模拟浏览器工作 ...
- python 注释一段话_Python快速入门(一)
引言 Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业.它易学好懂,拥有着丰富的库,功能齐全.人生苦短,就用Python. 这个快速入门系列分为六篇,包含了Python大部分基础知识 ...
- Python实现消息轰炸效果,从入门到进阶
本期小编给大家带来的内容是:使用Python实现消息轰炸效果,消息轰炸的用途这里小编就不再赘述,老样子直接进入正题! 要实现消息轰炸效果,首先要借助Python第三方库-pyautogui,原理很简单 ...
- python开发app的软件_python编程入门APP
python编程入门APP是一款非常实用的编程学习软件,软件是专门为刚接触python编程的朋友们准备的.在这里可以找到各种学习内容,适用于各个年林短的人学习,大家可以根据自己的需求选择学习即可.软件 ...
- python便捷数据怎么获取_Python数据分析入门——从数据获取到可视化
基本信息 作者: 沈祥壮 ISBN:9787121336539 上架时间:2018-3-22 出版日期:2018 年3月 开本:16开 页码:260 版次:1-1 [插图] 编辑推荐 了解基本的Pyt ...
- 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...
- python终结一个循环额_Python语言入门之内存管理方式和垃圾回收算法解析
本文主要向大家介绍了Python语言入门之内存管理方式和垃圾回收算法解析,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在列表,元组,实例,类,字典和函数中存在循环引用问题.有 ...
最新文章
- Yoshua:深度学习AI迈向人类水平的挑战(附PPT下载)
- java调用存储过程 oracle_java调用oracle存储过程
- 使用libcurl开源库和Duilib做的下载文件并显示进度条的小工具
- abap判断当前月最后一个工作日_油价正式打响第一枪!今天12月3日,今晚油价迎来大幅暴跌,调价后全国地区油价一览!...
- Anaconda:Anaconda安装pytorch网络连接失败记录
- 【每周CV论文推荐】 初学者必须精读的5篇深度学习优化相关文章
- 现代谱估计:Blackman-Tukey 相关图
- python sendline_python Pexpect模块的使用
- 网页中显示xml,直接显示xml格式的文件
- 77. PHP 文件读取
- 一步一步搭建前端监控系统:如何记录用户行为?
- python上的包嗅探
- java具名参数_Spring JDBC 框架中, 绑定 SQL 参数的另一种选择:具名参数(named parameter)...
- 易语言 执行java_CallJava易语言调用JAVA代码
- 中国计算机制造业比较优势分析,在全球产业链中,中国制造业拥有哪些显著的比较优势?()...
- Mozilla CEO和Firefox OS联合创始人Andreas Gal离职创业
- 【Win10高分辨率缩放】Win10系统画面图标太小
- 4.2 char类型介绍
- JVM之垃圾回收-相关名词解释
- 为什么Math.abs(Integr.MIN_VALUE)==Integer.MIN_VALUE 1
热门文章
- 探索多媒体开发最新最佳实践,我们在深圳等你
- 王荣刚:视频画质评定是个“大坑”
- EasyRTMP CPU占用问题调优(一)
- epoll机制:epoll_create、epoll_ctl、epoll_wait、close
- MySql 5.7.19 源代码安装 for ubuntu 16.04
- Spark _15 _广播变量和累加器
- 怎么对Java服务进行调优的?
- 【Java】什么是CAS、synchronized升级概述、偏向锁/轻量级锁详解 - 笔记
- 密码学系列之:IDEA
- 计算机dns的工作原理,DNS的工作原理图解说明