第二章:变量和运算符
- 部分参考:菜鸟教程
文章目录
- 一:变量
- (1)概述
- (2)值类型和引用类型
- 二:运算符
- (1)算数运算符
- (2)关系运算符
- (3)赋值运算符
- (4)逻辑运算符
- (5)成员运算符
- (6)身份运算符
- (7)位运算符
一:变量
(1)概述
Python是动态语言,因此其变量不需要声明、不需要定义,直接使用=
赋值即可
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串print(counter)
print(miles)
print(name)
而且在Python中,是允许同时为多个变量赋值的
a = b = c = 1
d, e, f = 3, 2, "hello" # 为多个对象指定多个变量
print(a, b, c, d, e, f)
(2)值类型和引用类型
Python中虽然变量可以直接赋值,但是它却有值类型和引用类型之分
- 值类型(不可改变):不同变量所指向的对象是不一样的;例如
int
、str
、tuple
- 引用类型(可以改变):虽然变量名不同,但是其所指向的对象是一样的;例如
list
、set
、dict
比如下面例子中,int
是一种值类型,因此a
和b
指向的是不同的对象;而list
是一种引用类型,所以a
和b
指向的是同一个对象
二:运算符
- 运算符这部分较为简单,这里借助菜鸟教程列出常用的各种类型的运算符即可
- 一些细节内容会另外标注
(1)算数运算符
- 算数运算符的主要作用是进行算数运算
演示
a = 21
b = 10
c = 0c = a + b
print ("1 - c 的值为:", c)c = a - b
print ("2 - c 的值为:", c)c = a * b
print ("3 - c 的值为:", c)c = a / b
print ("4 - c 的值为:", c)c = a % b
print ("5 - c 的值为:", c)# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print ("6 - c 的值为:", c)a = 10
b = 5
c = a//b
print ("7 - c 的值为:", c)
(2)关系运算符
- 关系运算符的主要作用是进行大小关系比较,最终会返回一个布尔类型的值
- 需要注意的是,并不是只有数字才可以比较,像字符串、列表、元组等都是可以比较的
a = 21
b = 10
c = 0if ( a == b ):print ("1 - a 等于 b")
else:print ("1 - a 不等于 b")if ( a != b ):print ("2 - a 不等于 b")
else:print ("2 - a 等于 b")if ( a < b ):print ("3 - a 小于 b")
else:print ("3 - a 大于等于 b")if ( a > b ):print ("4 - a 大于 b")
else:print ("4 - a 小于等于 b")# 修改变量 a 和 b 的值
a = 5
b = 20
if ( a <= b ):print ("5 - a 小于等于 b")
else:print ("5 - a 大于 b")if ( b >= a ):print ("6 - b 大于等于 a")
else:print ("6 - b 小于 a")
(3)赋值运算符
- 赋值运算符的主要作用是对变量赋值
- 部分赋值运算符在C语言教程中有过详细介绍,这里不再赘述
a = 21
b = 10
c = 0c = a + b
print ("1 - c 的值为:", c)c += a
print ("2 - c 的值为:", c)c *= a
print ("3 - c 的值为:", c)c /= a
print ("4 - c 的值为:", c)c = 2
c %= a
print ("5 - c 的值为:", c)c **= a
print ("6 - c 的值为:", c)c //= a
print ("7 - c 的值为:", c)
(4)逻辑运算符
- 逻辑运算符的主要作用是操作布尔类型,进行逻辑判断,返回结果仍然为布尔类型
- 对于
and
,只要它遇到False
,那么整个结果就会是False
,后续表达式不再运行 - 对于
or
,只要它遇到True
,那么整个结果就会是True
,后续表达式不再运行 - 数字0、空字符串、空列表/元组/集合/字典都会被认为是
False
a = 10
b = 20if ( a and b ):print ("1 - 变量 a 和 b 都为 true")
else:print ("1 - 变量 a 和 b 有一个不为 true")if ( a or b ):print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:print ("2 - 变量 a 和 b 都不为 true")# 修改变量 a 的值
a = 0
if ( a and b ):print ("3 - 变量 a 和 b 都为 true")
else:print ("3 - 变量 a 和 b 有一个不为 true")if ( a or b ):print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:print ("4 - 变量 a 和 b 都不为 true")if not( a and b ):print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:print ("5 - 变量 a 和 b 都为 true")
(5)成员运算符
- 成员运算符的主要作用是判断某个元素是否在另外一组元素中,返回布尔类型
- 特别注意字典
dict
,它是根据 键值key
来判断的
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]if ( a in list ):print ("1 - 变量 a 在给定的列表中 list 中")
else:print ("1 - 变量 a 不在给定的列表中 list 中")if ( b not in list ):print ("2 - 变量 b 不在给定的列表中 list 中")
else:print ("2 - 变量 b 在给定的列表中 list 中")# 修改变量 a 的值
a = 2
if ( a in list ):print ("3 - 变量 a 在给定的列表中 list 中")
else:print ("3 - 变量 a 不在给定的列表中 list 中")
(6)身份运算符
身份运算符的主要作用是判断两个标识符引用的是否是相同的对象,返回布尔类型(如果有C/C++基础,这一点应该很好理解;如果不理解也没有关系,了解完对象之后你会明白的)
id()
函数用于获取对象内存地址,因此身份运算符本质在比较所引用的对象内存地址是否相同注意区别
==
和is
。举个例子:a = 1
、b =1.0
,那么执行a == b
肯定返回True
,但是执行a is b
返回的却是False
,因为标识符a
和b
引用的不是相同的对象。因此is
用于判断两个变量引用对象是否为同一个,==
用于判断引用变量的值是否相等
a = 20
b = 20if (a is b):print("1 - a 和 b 有相同的标识")
else:print("1 - a 和 b 没有相同的标识")if (id(a) == id(b)):print("2 - a 和 b 有相同的标识")
else:print("2 - a 和 b 没有相同的标识")# 修改变量 b 的值
b = 30
if (a is b):print("3 - a 和 b 有相同的标识")
else:print("3 - a 和 b 没有相同的标识")if (a is not b):print("4 - a 和 b 没有相同的标识")
else:print("4 - a 和 b 有相同的标识")
(7)位运算符
位运算符的主要作用是把数字当做二进制数字进行运算
位运算符在C语言教程中有详细介绍,这里不再赘述
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0c = a & b # 12 = 0000 1100
print ("1 - c 的值为:", c)c = a | b # 61 = 0011 1101
print ("2 - c 的值为:", c)c = a ^ b # 49 = 0011 0001
print ("3 - c 的值为:", c)c = ~a # -61 = 1100 0011
print ("4 - c 的值为:", c)c = a << 2 # 240 = 1111 0000
print ("5 - c 的值为:", c)c = a >> 2 # 15 = 0000 1111
print ("6 - c 的值为:", c)
运算符优先级如下
第二章:变量和运算符相关推荐
- 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展
一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...
- python变量运算符_Python基础 — 变量和运算符
序言:这一章我们将学习变量以及常见的类型,我们将以案例和代码相结合的方式进行梳理,但是其中所有的案例和知识点 都是Python3 版本. 变量和运算符 1.1 初步介绍 在程序设计中,变量是一种存 ...
- bash的特殊符号、变量和运算符
Bash 中其他特殊符号 单引号&双引号 [root@localhost ~]#name=qyy #给变量name赋值,值为:qyy [root@localhost ~]#echo $name ...
- Scala语法之常量变量和运算符
Scala语法之常量变量和运算符 1. 背景 官网:https://www.scala-lang.org/ scala是什么 上述截图可知,scala是一门编程语言.静态语言需要编译才能运行,强类型语 ...
- Java变量和运算符详解
Java变量和运算符 已在思维导图中对变量知识框图进行整理! 使用markdown进行详细记录 分以下几点进行介绍: 变量基本原理 基本类型和引用类型变量 变量使用和注意事项 运算符 1. 变量基本原 ...
- python变量和运算符
python变量和运算符 1.变量 创建变量: 创建规则: 赋值变量: 字母,数字和下划线,不可数字开头,不可是关键字 num=1 _name='' a,b,c=1,2,3 2.运算符 算术:+-*/ ...
- C++Primer读书笔记----第二章变量和基本类型
前段时间学习iphone开发,非常力不从心,很多C/C++的类库代码看不明白.大学的时候都学过C/C++,但是基本上忘光了,现在做C#开发,经常写出来一些性能低下的代码,究其原因就是原理掌握不扎实,乱 ...
- Shell脚本:变量和运算符
4.bash的变量和运算符 4.1 变量的命名规则 4.2 变量的分类 系统变量 环境变量 自定义变量 4.3 变量的查询 set命令 set -u #如果设定此项,当你调用未声明的变量时会报错,默认 ...
- Java基础以及变量和运算符、包机制、javadoc生成
Java基础以及变量和运算符.包机制.javadoc生成 注释.标识符.关键字 注释 标识符 关键字 标识符注意点 数据类型 强类型语言 弱类型语言 Java的数据类型 基本类型(primitive ...
- 《C++Primer》第二章-变量和基本类型-学习笔记(1)
<C++Primer>第二章-变量和基本类型-学习笔记(1) 文章目录 <C++Primer>第二章-变量和基本类型-学习笔记(1) 摘要 主体 基本(内置)类型 算数类型 整 ...
最新文章
- python中PIL模块
- Web前端与HTML5有什么区别,百分之八十的人分不清
- js oop写法小例子
- mysql构建栋_【转载】这次拆库 应是微服务化的拆分方式
- 前端学习(392):京东制作页面1京东项目项目介绍
- python属性_深入理解python对象及属性
- 论文浅尝 - IJCAI | Knowledge is NOT always you need: 外部知识注入预训练模型的利与弊...
- 随机森林特征重要性计算_R语言随机森林模型中具有相关特征的变量重要性
- 【分布式系统工程实现】系统可扩展性演化
- Linux x86-64 IOMMU详解(六)——Intel IOMMU参与下的DMA Coherent Mapping流程
- 教程 | 做一个自己专属的本地 BLAST 数据库
- 学习党Win10装机必备软件
- 三种不同的梯度下降算法和正则方程的线性回归预测结果对比
- MySQL_where条件查询
- 确定目标 目标确定的七大原则
- 你知道chrome小恐龙游戏吗?3分钟使用JavaScript实现
- python2.x 获取网页内容
- related_name
- 快速云:管理企业中云蔓延的7个技巧
- zstuACM 问题 H: 超级跳跳跳1281
热门文章
- 【朋友圈精选】web前端招聘面试的10个小分享
- 性能优化篇(3):避免空的图片src
- 华为手机免root改mac_拿到华为手机,这4个默认设置一定要改,不然流量电量很快被耗光...
- 4米乘以12米CAD图_CAD做钣金件展开的原理你知道吗?
- 德国80%的统计学教授都会答错的6个与P值有关的问题!
- Evernote是什么软件?印象笔记for mac V10.3.6官方版
- 1.4编程基础之逻辑表达式与条件分支 18 点和正方形的关系
- NOIP2001-普及组复赛-第2题-最大公约数和最小公倍数问题
- 计算机网络课程设计之TELNET 终端设计与实现
- SSH连接Linux CentOS7-Putty篇