前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10.程序编程基础4~变量&运算符

10.程序编程基础4~变量&运算符

作者头像
大牧莫邪
发布2018-08-27 16:42:23
3980
发布2018-08-27 16:42:23
举报
文章被收录于专栏:我和PYTHON有个约会

上一章讲解过了组合数据类型,本章进行变量以及各种编程需要的运算符的操作讲解

3.3 变量部分 3.4 运算符部分;主要讲解:赋值运算符、算数运算符、关系运算符、逻辑运算符、成员运算符、标识运算符

3.3. 变量

变量就是用来临时存放数据的一个容器

3.3.1 变量的使用

python中的变量,不需要声明即可使用 python中的变量命名:驼峰命名法,见名知意,只能是字母、数字和下划线组成,变量第一个字符智能是字母或者下划线

代码语言:javascript
复制
stockCount = 12; # 意义:库存数量 12
price = 499.00; # 意义:单价为499.00
_pi = 3.1415; # 意义:定义了圆周率pi为3.1415
$name = 'jerry' # 错误:变量中不能包含$符号
3.3.2 变量的回收

变量一旦定义,在程序中也是使用内存空间来存储数据的,所以当变量一旦不在需要使用,需要删除变量释放它占用的内存空间,python中通过del关键字来删除变量

代码语言:javascript
复制
stockCount = 12; # 使用库存变量
del stockCount; # 删除变量stockCoutn
print (stockCount) # 报错,stockCount变量未定义

这里一定要注意,在Python中,认为一切都是对象,所以变量进行赋值时,其实就是python在内存中创建了这个对象,然后将对象在内存中的地址存储在变量中了。

代码语言:javascript
复制
count = 100;    # 内存中创建了一个对象,对象的数据是100
id(count);
结果:1867079904   # 表示count中存放的内存地址
count = 200;   # 内存中创建了一个对象200
id(count)
结果:1867560352 # 表示此时count中存放的内存地址

注意1:python将所有的数据都存储为内存对象,变量其实就是指向对象的一个引用,只要需要,就可以让变量随时引用一个不同的对象 注意2:python内置了函数type(),用于检测给定数据的数据类型 注意3:使用赋值符=等号,用来将一个变量和内存中的对象绑定起来,如果对象在内存中存在就直接绑定,否则赋值运算符后面的对象会被即时创建之后进行绑定。

那就存在问题了,创建的100和200这两个数据,内存中进行了什么样的处理的呢? python将这样没有引用变量指向的对象,回收到了对象缓冲池(PS:对象缓冲池也是内存中的一个区域),方便下次使用的时候直接获取,所以在使用python的时候,一定要注意内存泄漏的问题。关于python内存管理这一部分,后续会单独进行讲解

3.3.3. 变量的命名规则

  1. 只能包含字母、数字、下划线,且不能以数字开头
  2. 变量名称区分大小写,name和Name就是两个不同的变量
  3. 禁止使用python2和python3的保留字
3.3.4. 特殊变量

以一个下划线开头的变量名称,不会被import语句导入 前后各有下划线的变量名,是系统定义的变量名,有特殊含义 交互模式下,单个下划线中保存了最后的输出表达式的结果

3.4.操作符

操作符,就是用于进行数据运算的符号 常见的操作符一般有赋值运算符、算数运算符、逻辑运算符、关系运算符等等

3.4.1. 赋值运算符

运算符

描述

使用方式

=

直接赋值

a = 2 给a赋值数据2

+=

加法赋值运算

a += 2 a原来的数据加2再赋值给a

-=

减法赋值运算

a-=2 a原来的数据减去2再赋值给a

*=

乘法赋值运算

a*=2 a原来的数据乘以2再赋值给a

/=

除法赋值运算

a/=2 a原来的数据除以2再赋值给a

%=

取余赋值运算

a%=2 a原来的数据除以2,将余数赋值给a

**=

次方赋值运算

a**=2 将a原来的数据取2次方运算再赋值给a

//=

地板除法运算

a//=3 将a原来的数据地板除以3将结果赋值给a

3.4.2. 算数运算符

运算符

描述

使用方式

加法运算

1 + 2 结果 3

-

减法运算

1 - 1 结果 0

*

乘法运算

12 * 12 结果 144

/

除法运算

10 / 3 结果 3.333333

%

取余运算

10 / 3 结果 1

**

次方运算

10 ** 2 结果 100

//

地板除法运算

10 // 3 结果 3

注意 在Python2中,除法运算和地板除法运算是一个结果 在python3中,除法运算和地板除法运算结果不一样

3.4.3. 关系运算符

关系运算符,通过比较运算符两边的数据,返回一个布尔类型的结果

运算符

描述

使用方式

>

大于运算

1> 2 结果 False

<

小于运算

1 < 2 结果 True

>=

大于等于运算

12 >= 12 结果True

<=

小于等于运算

12 <= 11 结果 False

<>

不等于运算

10 <> 3 结果 True

!=

不等于运算

等同于<> ,如10 != 10,结果False

==

等于运算

10 == 3 结果 False

3.4.4. 逻辑运算符

运算符

描述

使用方式

and

并且运算

True and False 结果 False

or

或者运算

True or False 结果 True

not

非运算

not False 结果True

注意 这里的逻辑运算符,python中只有and|or|not,在其他语言中,也有类似&&、||、!的符号来表示and、or、not的三种关系的 and/&&:并且运算,当运算符两边的数据都为True才返回True,否则返回False or/||:或者运算,当运算符两边的数据都是False才返回False,否则返回True not/!:非运算,对结果进行取反,如果为True结果为False,如果为False则结果为True

3.4.5. 成员运算符

运算符

描述

使用方式

in

如果在指定的变量中找到则为True,否则为False

jiaoYue in heros

not in

如果在指定的变量中没有找到返回True

jiaoYue not in heros

成员运算符,主要用于判断某个成员是否出现在某个对象中

运算符

描述

使用方式

in

如果在指定的变量中找到则为True,否则为False

jiaoYue in heros

not in

如果在指定的变量中没有找到返回True

jiaoYue not in heros

实际操作如下

代码语言:javascript
复制
heros = ["皎月女神", "暴走萝莉", "机械先驱", "九尾妖狐"]
feiCi = "潮汐海灵";
jiaoYue = "皎月女神";
feiCi in heros;
结果:False
jiaoYue in heros;
结果:True

成员运算符的使用

3.4.6. 标识运算符

运算符

描述

使用方式

is

如果运算符两边的变量指向相同的对象则为True

a is b

is not

如果运算符两边的变量指向不同的对象则为True

a is not b

标识运算符,主要用于两个不同的变量数据类型的检测

运算符

描述

使用方式

is

如果运算符两边的变量指向相同的对象则为True

a is b

is not

如果运算符两边的变量指向不同的对象则为True

a is not b

代码语言:javascript
复制
a = 12;
b = 12;
a is b
结果:True
a is not b 
结果:False

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.05.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.3. 变量
  • 3.4.操作符
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档