python的变量以及常用的数据类型

有关python的版本和安装以及概念特点可以参考上篇博文,python语言基础

此博文主要讨论问题如下:
一、python的变量
二、python常用的数据类型

一、什么是python的变量?

变量是计算机内存的一块区域,变量可以存储任何值,而且值可以改变。变量名由字母、数字和下划线组成。需要注意的是,不能使用python的关键字,英文大小写字母敏感,第1个字符必须是字母或下划线,不能是数字,示例代码如下:

>>> x=1
>>> _x=2
>>> print(x)
1
>>> print(_x)
2

x和_x都是合法的变量名,print()是输出函数,能够输出变量的值,也可以不使用小括号。

python中的变量不需要声明,变量的赋值操作即是变量声明和定义的过程,如_x=2即是声明和定义的过程。还可以给几个变量同时赋值,示例代码如下:

>>> a,b,c=4,5,6
>>> print (a)
4
>>> print(b,c)
5 6

a,b,c=4,5,6同时给3个变量进行了赋值操作,简化了多个变量赋值的代码。

二、python常用的数据类型有哪些?

python内置的数据类型有数字、字符串、元组、列表和字典

1、数字

数字类型包括整~型、浮点型、布尔型等,声明时由python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及转换等操作。根据变量的值自动判断变量的类型,程序员不需要关心变量空间是什么类型,只要知道创建的变量存放了一个数,程序只是对这个数值进行操作。

1)整型和浮点型
整数使用整~型表示,有小数位使用浮点型表示,示例代码如下:

>>> w=123
>>> print(w)
123
>>> w=5.21
>>> print(w)
5.21

以上代码首先定义了变量w=123,此时的w值是整数,w即使整型变量,当w=5.21时,w又成为了浮点型变量,由此可以看出,变量的类型是能改变的,这点与Java、C#语言等是有区别的。这是因为当python给已经存在
的变量再次赋值时,实际上是创建了一个新的变量,即使变量名相同,但标识并不相同,变量的标识可以使用id函数输出。

>>> w=123
>>> print(id(w))
140709308982112
>>>
>>> w=5.21
>>> print(id(w))
2193072831584

以上代码都是对变量x的标识进行打印,赋值前后的标识并不相同。

2)布尔类型
布尔型用于逻辑运算,有两个值True、False,表示真和假。示例代码如下:

>>> 10>50
False
>>>
>>> 30>15
True

3)python运算符
python中使用的算术运算符和数学运算中使用的符号基本相同,由+、-、*、/、%、//、 *****(加、减、乘、除、取余、整余、次方)和小括号组成运算顺序也是先乘除后加减,小括号优先。示例代码如下:

>>> x,y=10,2
>>> print(x+y,x-y,x*y,x/y)
12 8 20 5.0
>>> print (2+4*8)
34
>>> print((6+5)*4)
44

下面两个算术运算符是%和****(求模运算和求幂运算),求模运算取余数,求幂是计算累乘的结果,也就是次方,示例代码如下:

>>> 8%5
3
>>> 8%4
0
>>> 2**2
4
>>> 6**3
216
>>> 2**4
16

2、字符串

python中的字符串类型是一组包含数字、字母和符号的集合,作为一个整体使用。

1)字符串使用
python中有3种表示字符串的方式,单引号、双引号、三引号,示例代码如下:

>>> name=‘王五‘
>>> address="长安街"
>>> content=‘‘‘欢迎来到北京‘‘‘
>>> print (name)
王五
>>> print(address)
长安街
>>> print(content)
欢迎来到北京

变量name使用单引号,变量address使用双引号,变量content使用三引号,他们都是合法的python字符串类型。需要注意的是,单引号和双引号的作用是一样的,可以根据习惯使用,但定义多行文字时,必须要使用三引号。

常用的转义字符如下图:

2)字符串的其他用法
python的字符串可以进行乘法的操作,可以用一个整型数字和字符串相乘,如用数字3乘字符串“a”,结果是字符串“aaa”,相同于字符串“a”连接了3遍,示例代码如下:

>>> print(3*‘a‘)
aaa
>>> print (5*‘b‘)
bbbbb

3、列表

列表(list)是python中非常重要的数据类型,通常作为函数的返回类型。由一组元素组成,列表可以实现添加、删除和查找操作,元素值可以被修改。

1)列表的定义
列表是python内置的一种数据结构,由中括号定义,元素以逗号分开,语法如下:

2)列表的取值
列表中的数据是有序的,按定义时的顺序排好,可以单独取出某一位置元素的数值,语法如下:

示例代码如下:

>>> num=[‘111‘,‘222‘,‘333‘]
>>> print(num[0])
111
>>> print(num[1])
222
>>> print(num[2])
333

定义了列表num,存储了3个字符串顺序是‘111’、‘222’、‘333’,取值时用小括号列表名num加上中括号,数字表示索引位置,需要注意位置是由0开始依次递增。

  • 可以获取列表知道范围的一组元素,语法如下:

    可以输出起始位置到终止位置前的元素,不包括终止位置,示例代码如下:

    >>> num=[‘111‘,‘222‘,‘333‘,‘444‘]
    >>> print(num[0:1])
    [‘111‘]
    >>>
    >>> print(num[0:3])
    [‘111‘, ‘222‘, ‘333‘]
    >>> print(num[1:2])
    [‘222‘]
    >>>
    >>> print(num[2:])
    [‘333‘, ‘444‘]

    [0:1]表示由索引0开始,索引位置1之前的元素,所有只能取到第1个元素,[0:3]可以取到索引3之前的元素,即列表中第1、2、3个元素,其他的与此相同。

3)修改列表元素值
可以修改指定位置的列表元素值,语法如下:

示例代码如下:

>>> num=[‘111‘,‘222‘,‘333‘,‘444‘]
>>> num[0]=‘001‘        #修改
>>> print(num)
[‘001‘, ‘222‘, ‘333‘, ‘444‘]

定义列表时,索引位置0的元素是“111”,修改它的值为“001”后,索引位置0元素变为“001”。

4)添加列表元素
可以把一个元素添加到列表的最后,语法如下:

示例代码如下:

>>> num=[‘111‘,‘222‘,‘333‘,‘444‘]
>>> print (num)
[‘111‘, ‘222‘, ‘333‘, ‘444‘]
>>> num.append(‘555‘)       #末尾添加新元素
>>> print (num)
[‘111‘, ‘222‘, ‘333‘, ‘444‘, ‘555‘]

使用append(’555‘)后,“555”被添加到列表的末尾。

  • 在列表指定位置前插入新的元素,语法如下:

    示例代码如下:

    >>> num=[‘111‘,‘222‘,‘333‘,‘444‘]
    >>> num.insert(1,‘001‘)
    >>> print(num)
    [‘111‘, ‘001‘, ‘222‘, ‘333‘, ‘444‘]

    语句insert(1,’001‘)的作用是在索引位置1前插入’001‘,索引位置1的当前元素是’222‘,’001‘插入到它的前面。

5)删除列表元素
可以删除列表指定索引位置的元素,语法如下:

示例代码如下:

>>> num=[‘111‘,‘222‘,‘333‘]
>>> del (num[1])
>>> print(num)
[‘111‘, ‘333‘]

使用del删除索引为1的元素’222‘后,输出列表num中已经不存在’222‘元素。

6)查找列表元素
使用in关键字可以查找列表中是否存在指定的数值,语法如下:
元素值 in 列表名
返回布尔类型True或False
示例代码如下:

>>> num=[‘111‘,‘222‘,‘333‘]
>>> (‘111‘)in num
True
>>> (‘444‘)in num
False

字符串’111‘在列表中存在,返回True;字符串’444‘在列表中不存在,返回False。

7)合并列表
多个列表可以使用加号进行合并,示例代码如下:

>>> num1=[‘111‘,‘222‘]
>>> num2=[‘333‘,‘444‘]
>>> numAll=(num1+num2)
>>> print(numAll)
[‘111‘, ‘222‘, ‘333‘, ‘444‘]
>>> numAll=(num2+num1)
>>> print(numAll)
[‘333‘, ‘444‘, ‘111‘, ‘222‘]

定义了两个列表num1和num2,使用加号进行合并操作时,加号后面的列表元素会追加到前面列表的后面。

8)重复列表
使用星号可以对列表进行重复操作,与单独字符串乘法操作相似,示例代码如下:

>>> num1=[‘111‘,‘222‘]
>>> num=(num1*5)
>>> print(num)
[‘111‘, ‘222‘, ‘111‘, ‘222‘, ‘111‘, ‘222‘, ‘111‘, ‘222‘, ‘111‘, ‘222‘]

4、元组

元组(tuple)和列表类似,也是python的一种数据结构,由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。但元组是不可以修改的,即元组创建后不能做任何的修改操作,元组通常表示一行数据,而元组中的元素表示不同的数据项。

1)元组的创建
元组由关键字小括号定义,一旦创建后就不能修改元组的内容,定义的语法如下:

如下修改柱状图的代码,加入元组的定义,示例代码如下:

>>>import matplotlib.pyplot as plt
>>> x=(1,9)            #元组
>>> height_all=(6,10)     #元组
>>> width_all=4
>>> title=("cylinder")
>>> plt.bar(x=(1,9),height=(6,10),width=(4))
>>> plt.title(title)
>>> plt.show()

这段代码依然可以正常运行,与使用列表并没有区别。元组与列表最大的不同是它是写保护的,创建后不能做任何的修改。


在使用时元组与列表区别并不大,那么为什么要使用元组呢?主要是因为元组是不可变的,操作速度比列表快,而且因为它不可以修改,数据要更加安全,所以要根据实际情况决定是使用元组还是列表,使程序更加高效合理。

2)元组的操作
元组也可对其元素执行一系列的操作。

  • 元组具有不可变性,所以相比列表的操作要少,其中取值操作与列表是完全相同的,示例代码如下:

    >>> num=(‘111‘,‘222‘,‘333‘)
    >>> print (num[0])
    111
    >>> print (num[1])
    222

    与列表的取值操作完全相同,都是使用方括号作为关键字取值。

  • 元素不允许删除元组中的元素值,但是可以删除整个元组,语法如下:

    示例代码如下:
    >>> num=(‘111‘,‘222‘,‘333‘,‘444‘)
    >>> del (num[0])              #删除元素,报错
    Traceback (most recent call last):
    File "<pyshell#219>", line 1, in <module>
    del (num[0])
    TypeError: ‘tuple‘ object doesn‘t support item deletion
    >>> print (num)
    (‘111‘, ‘222‘, ‘333‘, ‘444‘)
    >>> del (num)              #删除元组后元组不存在,报错
    >>> print (num)
    Traceback (most recent call last):
    File "<pyshell#222>", line 1, in <module>
    print (num)
    NameError: name ‘num‘ is not defined
    >>> 

    定义元组num后,删除某一个元素程序报错。删除整个元组后,在想使用这个元组,编译器会报未定义变量的错误。

  • 元组和列表可以做互相转换操作,元组转换为列表的语法如下:

    示例代码如下:
    >>> num=(‘111‘,‘222‘,‘333‘,‘444‘)      #元组
    >>> listNum =list(num)                  #转换为列表
    >>> print (listNum)
    [‘111‘, ‘222‘, ‘333‘, ‘444‘]
    >>> (listNum[0])=‘001‘                 #修改列表
    >>> print( listNum)
    [‘001‘, ‘222‘, ‘333‘, ‘444‘]
    >>> print (type(num))           #输出元组类型
    <class ‘tuple‘>
    >>> print (type(listNum))       #输出列表类型
    <class ‘list‘>

    这段代码首先定义了元组num,然后把它转换为列表listNum,对列表listNum可以做修改元素的操作,使用type()函数输出了元组的列表的类型。

5、字典

字典(dict)是python中重要的数据类型,字典是由“键-值”对组成的集合,字典中的值通过键来引用。

1)字典的创建
字典的每个元素是由“键-值”对(key-value)组成的,键值之间使用冒号分隔,“键-值”对之间用逗号隔开,并且被包含在一对花括号中。键是唯一的,不能存在多个,且它的值是无序的,键可以是数字、字符串、元组,一般用字符串作为键。定义的语法如下:

示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘bob‘:‘19982222‘,‘alice‘:‘19973333‘}
>>> print(mobile)
{‘tom‘: ‘19991111‘, ‘bob‘: ‘19982222‘, ‘alice‘: ‘19973333‘}
>>> print(type(mobile))
<class ‘dict‘>

定义了一个字典mobile,存储的键是姓名,值是电话号码,他们构成了对应的关系,使用type函数可以查看到它的类型是’dict‘。

2)字典的取值操作
字典的取值与元组和列表有所不同,元组和列表都是通过数字索引获取对应位置的值,而字典是通过键获取对应的值。取值的语法如下:

示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘bob‘:‘19982222‘,‘alice‘:‘19973333‘}
>>> print(mobile["tom"])
19991111
>>> print(mobile["bob"])
19982222

分别使用键“tom”“bob”可以获取到他们对应的值。需要注意的是,键是唯一的,而不同键的值却可以相同,当定义多个键相同时,字典中只会保留最后一个定义的键值对,示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘tom‘:‘1×××222‘,‘tom‘:‘19993333‘}
>>> print(mobile)
{‘tom‘: ‘19993333‘}

字典中定义了3个“键-值”对,他们的键是相同的,最后输出时只有最后一个定义的“键-值”对存在。

3)字典的添加、修改、删除操作
字典添加新元素只需要对新键进行赋值即可,字典中不存在的键,会自动进行添加。示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘bob‘:‘19982222‘}
>>> (mobile[‘alice‘])=‘19993333‘
>>> print(mobile)
{‘tom‘: ‘19991111‘, ‘bob‘: ‘19982222‘, ‘alice‘: ‘19993333‘}

字典的键’alice‘在定义时并不存在,赋值后,键’alice‘被添加到字典中。字典键值对的键名是区分大小写的。

修改字典中的元素,直接使用存在的键赋值,示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘bob‘:‘19982222‘}
>>> (mobile[‘bob‘])=‘19993333‘
>>> print(mobile)
{‘tom‘: ‘19991111‘, ‘bob‘: ‘19993333‘}

删除字典中的元素,使用del函数,语法如下:
del 字典名[‘键‘]
示例代码如下:

>>> mobile = {‘tom‘:‘19991111‘,‘bob‘:‘19982222‘}
>>> del (mobile[‘tom‘])
>>> print(mobile)
{‘bob‘: ‘19982222‘}

本章博文到此结束,感谢阅读

原文地址:https://blog.51cto.com/14156658/2429630

时间: 2024-10-20 22:14:03

python的变量以及常用的数据类型的相关文章

Python学习-------变量和简单的数据类型(String)

1.变量命名和使用 变量命名规则:a.变量名只能包含(字母    数字   下划线),且变量不能以数字开头,例如:变量 s_1(正确),变量1_s(错误) b.变量名不能包含空格,可以使用下划线来间隔 c.变量不能以关键字和函数名来命名,例如:print d.变量名应该简短而且具有标识性.(看见变量名就知道其大概表示啥) e.避免使用容易混淆的字母和数字,例如0和1,O和I  (代码量很大的的时候,这种小错误不容易发现,尽量不要给自己挖坑) 2.简单数据类型 String字符串:python中使

Python——1变量和数据类型(内含其他知识点链接)

*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年7月18日 * 内容描述:Python知识点 * 程序输入:无 * 程序输出:见运行结果 */ Python--2list和tuple类型 Python--3条件判断和循环 Python--4Dict和set类型 数据类型 计算机顾名思义就是可以做数学计算的机器,因此

Python之变量、数据类型、运算符

变量与数据类型 1 掌握变量使用及命名规则 1.1 变量赋值 变量赋值通过"="实现, 实例: a = 10 b = 10.11 c = 'abc' 注意事项:变量名尽量具有现实意义 实例:price = 10 Name = '张三' Age = '16' 注意事项:变量的值如果有中文则必须在文件头部声明文件编码 #coding:utf8 1.2 变量命名规则 1.2.1 一般由字母.数字.下划线组成: 实例: i.__my_name.name_21 和 a1b1_c3 1.2.2 不

python学习 变量的操作 与 基本数据类型

一变量(本文使用python3.5): #变量:是计算机内存中的一块区域,变量可以存储规定范围内的值,变量可以改变#在python中变量是计算机内存中数据的引用 python的变量没有明显的类型,具体类型是根据计算机内存实际存储的数据进行确认的 可以使用 type(变量名称) 获取该变量的类型#在python中数据的存储是以值(数据)为主,计算机内存中存储的是数值 变量只是一个对数据的引用 #demo a=1;#a指向内存中 1 print(id(a)); # 打印 数据的地址 14974277

Python 基础 变量和数据类型

python 数据类型 一,整数,可以出来任意大小的整数. 如 1, 100, -8080,0 等等. 二,浮点数,浮点数也可以被成为小数. 三,字符串,字符串是以'' 或"". 四,布尔值,布尔值和布尔代数的表示完全一致,一个布尔值只有 True ,False. 五,空值,空值是Python 里一个特殊的值,用None 表示,None 不能理解为0, 因为0 是有意义的,而不是None是一个特殊的空值. print 语句: print 'hello,world' python 的注释

Python入门学习:1.变量和简单的数据类型

python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 ??变量,顾名思义是一个可变的量,每个变量都存储一个值--与变量关联的信息. 1message = "hello world!"2# message 是一个变量3print(message) ??在python中使用变量时,需要遵循一些规则和指南. 变量名只能包含字母.数字和下划线.变量名可以字母或者下划线打头,但不能以数

萌新向Python数据分析及数据挖掘 第一章 Python基础 第一节 python安装以及环境搭建 第二节 变量和简单的数据类型

本文将参考<Python编程 从入门到实践>的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读. 好了!我们开始第一章的学习. 第一章 Python基础 第一节 Python安装以及环境搭建 Python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述. IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选择. Anaconda详细安装使用教程 https://blog.csdn.

说说 Python 的变量以及简单数据类型

1 变量 先来看一个示例: news="我国第一个人工智能规划问世"print(news) 运行结果: 可以看出使用 Python 定义变量很简单,甚至都不需要指定变量的类型. 1.1 命名和使用规则 变量名只能包含字母 .  数字和下划线 .  变量名可以是以字母或下划线打头, 但不能以数字打头, 例如, 可将变量命名为 new_1 , 但不能将其命名为 1_new. 变量名不能包含空格, 但可使用下划线来分隔其中的单词 . 不要使用 Python 关键字和函数名用作变量名, 比如

day02 Python 的模块,运算,数据类型以及方法

初识pyhton的模块: 什么是模块: 我的理解就是实现一个功能的函数,把它封装起来,在你需要使用的时候直接调用即可,我的印象里类似于shell 的单独函数脚本. python 的模块分为标准的和第三方的,标准的直接使用即可,第三方需要安装,可以使用pip 来安装模块,这个我们以后再讲. 模块都在哪里呢? 其实模块也是一个文件,我们通过搜索发现自带的模块都在python安装目录的base/lib下,第三方的模块则是在base/lib/site-packages 如何使用模块: 我们在使用模块的某