【Python基础入门系列】第03天:Python 变量与数据类型

这篇文章我们学习 Python 变量与数据类型

Python 变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。

基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。

因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

 

 

变量名也可称之为标识符(变量名、函数名、类名、包名等统称为标识符),其命名要符合python的语法要求:

  • 由数字、字母、下划线组成,不能以数字开头

  • 严格区分大小写

  • 不能是python的关键字(保留字)

    获取python的保留字
    import keyword
    print(keyword.kwlist)
    ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

     

 


变量赋值

Python 中的变量赋值不需要类型声明。

每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

a = 123 # a 是整数
a = '刘旺学长' # a 是字符串 

 


多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "john"

以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。

 


标准数据类型

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

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

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

 

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

 


数字 Number

数字数据类型用于存储数值。

他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number对象就会被创建:

var1 = 1
var2 = 10

 

Python3 支持 int、float、bool、complex(复数)。

数字类型是顾名思义是用来存储数值的,需要记住的是,有点和 Java 的字符串味道差不多,如果改变了数字数据类型的值,将重新分配内存空间。

 

数字类型转换

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

示例:

 #!/usr/bin/python3counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "test" # 字符串print (counter)
print (miles)
print (name)

 


Python字符串

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

一般记为 :

s="a1a2···an"(n>=0)

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

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

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

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

 

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

比如:

>>> s ='abcdef'
>>> s[1:5]'bcde'

当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。

上面的结果包含了 s[1] 的值 b,而取到的最大范围不包括尾下标,就是 s[5] 的值 f。

 

Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:

再来看看字符串的一些常见操作:

s = '学习Python'
# 切片
s[0], s[-1], s[3:], s[::-1] # '优', 'n', 'Python', 'nohtyP的雅优'
# 替换,还可以使用正则表达式替换
s.replace('Python', 'Java') # '学习Java'
# 查找,find()、index()、rfind()、rindex()
s.find('P') # 3, 返回第一次出现的子串的下标
s.find('h', 2) # 6, 设定下标2开始查找
s.find('23333') # -1, 查找不到返回-1
s.index('y') # 4, 返回第一次出现的子串的下标
s.index('P') # 不同与find(), 查找不到会抛出异常
# 转大小写, upper()、lower()、swapcase()、capitalize()、istitle()、isupper()、islower()
s.upper() # '学习PYTHON'
s.swapcase() # '学习pYTHON', 大小写互换
s.istitle() # True
s.islower() # False
# 去空格,strip()、lstrip()、rstrip()
# 格式化
s1 = '%s %s' % ('Windrivder', 21) # 'Windrivder 21'
s2 = '{}, {}'.format(21, 'Windridver') # 推荐使用format格式化字符串
s3 = '{0}, {1}, {0}'.format('Windrivder', 21)
s4 = '{name}: {age}'.format(age=21, name='Windrivder')
# 连接与分割,使用 + 连接字符串,每次操作会重新计算、开辟、释放内存,效率很低,所以推荐使用join
l = ['2017', '03', '29', '22:00']
s5 = '-'.join(l) # '2017-03-29-22:00'
s6 = s5.split('-') # ['2017', '03', '29', '22:00']

 

以上是一些常见的操作。

 


Python列表

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

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

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

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

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

 

列表是写在方括号 [] 之间、用逗号分隔开的元素列表,列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套),列表中的元素是可以改变。

实例:

Weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday']
print(Weekday[0]) # 输出 Monday#list 搜索
print(Weekday.index("Wednesday"))#list 增加元素
Weekday.append("new")
print(Weekday)# list 删除
Weekday.remove("Thursday")
print(Weekday)

 

 


Python 元组

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

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

 

示例:

letters = ('a','b','c','d','e','f','g')
print(letters[0]) # 输出 'a'
print(letters[0:3]) # 输出一组 ('a', 'b', 'c')

 

 


Python 集合

集合(set)是一个无序不重复元素的序列,使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 {} ,因为 {} 是用来创建一个空字典。集合不能被切片也不能被索引,除了做集合运算之外,集合元素可以被添加还有删除:

a_set = {1,2,3,4}
# 添加
a_set.add(5)
print(a_set) # 输出{1, 2, 3, 4, 5}
# 删除
a_set.discard(5)
print(a_set) # 输出{1, 2, 3, 4}

 

 

 


Python 字典

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

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

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

示例:

Logo_code = {
'BIDU':'Baidu',
'SINA':'Sina',
'YOKU':'Youku'
}
print(Logo_code)
# 输出{'BIDU': 'Baidu', 'YOKU': 'Youku', 'SINA': 'Sina'}
print (Logo_code['SINA']) # 输出键为 'one' 的值
print (Logo_code.keys()) # 输出所有键
print (Logo_code.values()) # 输出所有值
print (len(Logo_code)) # 输出字段长度

 

 


Python数据类型转换

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

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

 

函数描述

  

int(x [,base])

将x转换为一个整数

long(x [,base] )

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

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

eval(str)

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

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

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

frozenset(s)

转换为不可变集合

chr(x)

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

unichr(x)

将一个整数转换为Unicode字符

ord(x)

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

hex(x)

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

oct(x)

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

 

总结

本节给大家介绍了 Python  变量 和六种标准的数据类型,给大家演示了变量的使用,以及六个六种标准的数据类型的常用操作。

参考:

https://www.cnblogs.com/wang-yc/articles/6423951.html
https://segmentfault.com/a/1190000014511963
https://www.runoob.com/python3/python3-data-type.html
https://zhuanlan.zhihu.com/p/26079855

 

PS:公众号内回复 :Python,即可获取最新最全学习资源!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20169210 2016-2017-2《网络攻防实践》第八周总结

教材 一、Linux操作系统基本矿建概述 1、Linux操作系统发展与现状 跨平台的硬件支持;丰富的软件支持;多用户多任务;可靠的安全性;良好的稳定性;完善的网络功能2、Linux系统结构 1)Linux进程与线程管理机制2…

cad卸载_想重新安装CAD提示已经安装?不会卸载?进来教你卸载CAD

大家好,我是【小杰趣分享】,这里每天都会分享一下和电脑软件、电脑硬件相关的文章或视频。这一期小杰教大家怎么彻底卸载CAD!CAD这款软件是小杰见过最难卸载的软件了,不知道你们有没有遇到过卸载CAD想重新安装,却怎么都…

直击3.15 安防行业如何维护消费者权益

一年一度的315维权活动让众多行业为之惶恐,安防行业发展至今,和各行各业一样也同样面临着安防市场粗制滥造、假冒伪劣产品盛行的局面。 315今年的消费维权主题是 “网络诚信 消费无忧”,中国消费者协会副秘书长董祝礼表示,网络消费…

【Python基础入门系列】第04天:Python 流程控制

在编程的世界中,流程控制是程序员运行的基础,流程控制决定了程序按照什么样的方式去执行,本节给大家介绍 Python 流程控制相关语法。 if 语句 if 语句表示如何发生什么样的条件,执行什么样的逻辑。 Python程序语言指定任何非0和…

excel合并两列内容_还在为合并WPS表格(Excel)中两列内容而犯愁?此方法简单高效...

我们在处理WPS表格(Excel)数据时,时常需要将两列甚至更多列的内容合并显示在同一列中,就像这样:这个时候大家是怎么解决的呢?路人:复制粘贴So easy!小杜:不止两三行啊……路人:复制粘…

【Python基础入门系列】第05天:Python函数

前面我们写过九九乘法表,但如果我要七七乘法表或五五乘法表的话,你会看到三者代码极其类似,只是循环变量不同,那么如何做到代码重用,而不是简单拷贝黏贴修改呢,其实可是使用函数完成这一功能! 先来试着看一…

第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...

第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B. Borrow Classroom 题意:一棵树,点 1为根,一个人从点 b到 点 c再到点 1,第二个人从点 a出发,问第二个人能否截住第一个人。 tags&#xff…

macbook所有型号大全_苹果笔记本型号大全

很多朋友在选购苹果笔记本也就是MacBook的时候都会考虑究竟买哪一个系列会比较好,下面就为大家介绍一下苹果笔记本型号大全都有什么,希望以下的介绍能够帮助到您。苹果笔记本型号大全目前苹果笔记本有以下的几个主要的型号:1、MacBook Air是目…

【Python基础入门系列】第06天:Python 模块和包

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码…

空间直线与平面的交点

这内容属于计算几何,在 3D游戏开发编程基础 或者在游戏开发中的数学和物理算法 这种资料上也可以找到相关的内容和代码。或者更广泛点称为是计算机图形学, 接下来我们进入正题,如果直线不与平面平行,将存在交点。如下图所示&#…

iphone导出视频 无法连接到设备_拷贝iphone照片,显示无法连接设备?TRIZ 3秒钟解决...

手机存储满了,想把手机里面的照片和视频拷贝出来。 又不想交给苹果cloud的“苹果税”。USB手动连上IPHONE,结果每次复制了几百兆,就会弹出“无法连接设备”,导致拷贝失败。并且每次重新连接之后,删掉的照片又出现在手机…

【Python基础入门系列】第07天:Python 数据结构--序列

python内置序列类型最常见的是列表,元组和字符串。(序列是python中最基础的数据结构,而数据结构是计算机存储,组织数据的方式。) 另外还提供了字典和集合的数据结构,但他们属于无顺序的数据集合体&#xf…

springBoot(20):使用Spring Session实现集群-redis

一、session集群的解决方案1.1、扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。1.2、利用Filter利…

docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命

写在前面这篇博客适合谁?对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知其二,我…

【Python基础入门系列】第08天:Python List

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 LIST 列表 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates [liuwang, xuezhang, al…

【Python基础入门系列】第09天:Python tuple

Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(在前面文章我们也说过序列),序列中的每个元素都有一个序…

elementui table某一列是否显示_Vue项目引进ElementUI组件的方法

环境要求NodejsNodejs官网下载地址:http://nodejs.cn/download/具体安装参考其他资料打开cmd命令行,输入npm -v,如果出现如下图的显示,说明已经安装正确。如果安装版本比较老,想升级新版本npm install npm -g安装 webp…

集成电路版图与工艺课程设计之用CMOS实现Y=AB+C电路与版图

1 绪论 1.1 设计背景 集成电路设计(Integrated circuit design, IC design),亦可称之为超大规模集成电路设计(VLSI design),是指以集成电路、超大规模集成电路为目标的设计流程。集成电路设计涉及对电子器…

硬盘显示容量和实际容量不符合_买移动固态硬盘纠结大半天?花2分钟看完这篇,购买时不再被坑...

如今移动硬盘已成为很多办公用户标配的物品,纵观整个移动硬盘市场,主要有移动机械硬盘和移动固态硬盘两种类型,前者容量大,价格较亲民;而后者具备了轻薄、读写速度快、耐振动不怕摔等优点。不少追求高效率的用户&#…

【Python基础入门系列】第10天:Python 类与对象

首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解。 由于你可能没有编程经验, 所以无法从学过的编程…