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

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

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

3.3. 变量

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

3.3.1 变量的使用

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

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

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

stockCount = 12; # 使用库存变量
del stockCount; # 删除变量stockCoutn
print (stockCount) # 报错,stockCount变量未定义

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

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

实际操作如下

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

a = 12;
b = 12;
a is b
结果:True
a is not b 
结果:False

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

【Go 语言社区】Go语言数组

Go编程语言提供称为数组的数据结构,其可存储相同类型的元素的一个固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。...

36015
来自专栏小樱的经验随笔

【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题

foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一...

2787
来自专栏塔奇克马敲代码

第 14 章 重载运算与类型转换

2486
来自专栏Python小屋

Python获取numpy数组中最大的5个元素(保持原顺序)

本文主要演示numpy的argsort()函数的用法。这个函数的返回值是数组中的元素排序后的原下标,例如np.argsort([3,1,2])的返回结果是arr...

3656
来自专栏小詹同学

程序员面试必备之排序算法汇总(下)

希望小小詹同学学习同时能便于他人~ ---- 本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。上篇已...

34810
来自专栏转载gongluck的CSDN博客

python笔记:#013#高级变量类型

高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (in...

3489
来自专栏GopherCoder

Python 强化训练:第三篇

1224
来自专栏desperate633

LintCode 数组划分题目分析代码

给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:

581
来自专栏C++

python笔记:#013#高级变量类型

1623
来自专栏顶级程序员

一文读懂Python可迭代对象、迭代器和生成器

序列可以迭代的原因:iter 函数。解释器需要迭代对象 x 时,会自动调用 iter(x)。内置的 iter 函数有以下作用:

1253

扫码关注云+社区

领取腾讯云代金券