第二节 Python基础之变量,运算符,if语句,while和for循环语句
我们在上一节中,我们发现当我们用字符串进行一些功能处理的时候,我们都是把整个字符串写下来的,比如"jasonhy".startwith("j"),如果我们在程序中,很多地方用到"jasonhy"的时候,每个都这样写的话,代码看起来就很low了,而且你有时候还有可能写错,再有一个就是,如果现在需求改变了,不再是"jasonhy"里,变成了"Jasonhy",那这个时候你是不是得每个地方都要改呢?这个工作量就可想而知。为了方便我们代码的可读性,可维护性,我们引入了变量和运算符。
变量,只能由字,数字以及下划线组成,而且不能用数字开头,不能使用Python里面的关键字,最好也不要和Python里的内置函数重复。
运算符,包括:
算术运算符
比较运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
我们先来看算术运算符,简单说就是我们熟悉的加减乘除:+ - × /,除了这些,Python里边还有取模运算(%),幂运算(××),取商运算(//),这里只示范后面三个:
取模(%):也就是余数
print(10%3)
输出结果是:
1
幂运算(××):也就是我们说的次方
print(2**3)
输出结果是:
8
取商(//):
print(10 // 3)
输出结果是:
3
比较运算符,就是我们常见的大于(或大于等于)(>/>=),小于(或小于等于)(</<=),不等于(!=),等于(==),返回结果是True和False,示范一个 == :
print(10 == 3)
输出结果是:
False
赋值运算符,简单的赋值运算符就是 = ,还有就是:加法赋值(+=),减法赋值(-=),乘法赋值(×=),除法赋值(/=),取模赋值(%=),幂赋值(××=),取商赋值(//=),=的话,就直接将右边的值赋给左边的变量,比如var = 18,将18赋给了var,结果如下:
var = 18
print(var)
输出结果是;
18
其他赋值运算符,先进行左边的运算,再=运算,比如 var = 18,var += 1(先进行18 + 1算术运算,再进行=运算),结果如下:
var = 18;
var += 1
print(var)
输出结果是:
19
逻辑运算符,与运算(and),或运算(or),非运算(not),判断的结果也是True和False,and运算的时候,所有的是True才返回True,or运算只要有一个True就会返回True,not运算取反。示例如下:
va = 18
vb = 19
print(va == 18 and vb == 19)
输出结果是:
True
print(va == 1 and vb == 19)
输出结果是:
False
va = 18
vb = 19
print(va == 18 or vb == 19)
输出结果是:
True
print(va == 1 or vb == 19)
输出结果是:
True
print(va == 1 or vb == 1)
输出结果是:
False
位运算符,就是把数字按照二进制来进行运算的:
位与(&):两个相应位都是1,结果是1,否则是0
位或(|):两个相应位只要有一个是1,结果就是1,否则是0
位异(^):两个相应位只要不相同结果就是1,否则是0
位取反(-):就是对每个为进行取反,1变成0,0变成1
左移动(<<):各二进制位向左移动若干位,移动之后,高位丢弃,低位补0
右移动(>>):各二进制位向右移动若干位
成员运算符,就是用来测试一系列成员是否包含在内,比如字符串,列表(后面将),元组(后面讲):
in:如果在指定的序列中找到就返回True
not in:反着取
案例:
vstr = "jasonhy"
print("j" in vstr)
print("J" in vstr)
输出结果是:
①True
②False
身份运算符,比较两个对象是否相同:
is:判断两个标识符是不是引用同一个对象,是的话,返回True
is not:反着取
案例
vstrA = "jasonhy"
vstrB = "jasonhy"
print(vstrA is vstrB)
vstrB = "Jasonhy"
print(vstrA is vstrB)
输出结果是:
①True
②False
if语句,格式如下:
第一种:
if 条件:
代码块
else:
代码块
第二种:
if 条件:
代码块
elif 条件:
代码块
else:
代码块
案例:
nameA = "jasonhy"
nameB = "jasonhy"
if (nameA is nameB):
print("名字一样,同一个人")
else:
print("名字不一样,不是同一个人")
nameA = "jasonhy"
nameB = "Jasonhy"
nameC = "jasonhy"
if (nameA is nameB):
print("nameB和nameA是同一个人")
elif (nameA is nameC):
print("nameC和nameA是同一个人")
else:
print("他们看着都像是一样的,但是名字不一样,不是同一个人")
while循环语句:
格式:
while 条件:
代码块
案例:
time = 5
while time > 0:
print("开始倒计时==>%d"%time)
time -= 1
print("欢迎您来到jasonhy的Python博客")
for循环语句:
格式:
for 子元素 in 序列:
代码块
案例:
name = "ABC123Jasonhy"
count = 1
for vn in name:
if("" == vn):
print("你终于猜对了,是2")
break
else:
print("你已经猜了%d次"%count)
count += 1
print("游戏结束")
注:在循环语句中,break表示停止循环,continue表示跳过本次循环,执行下次循环
第二节 Python基础之变量,运算符,if语句,while和for循环语句的更多相关文章
- 第二章 python基础(一)
第一节 Python文件类型 源代码 Python源代码的文件以“py”为扩展名,由Python程序解释,不需要编译 字节代码 Python源文件经编译后生成的扩展名为“pyc”的文件 编译方法 im ...
- python基础语法(运算符及优先级)
python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者 ...
- Python学习笔记(二):条件控制语句与循环语句及常用函数的用法
总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...
- javascript基础入门之js中的结构分支与循环语句
javascript基础入门之js中的结构分支与循环语句 程序的结构①顺序结构:自上而下:②选择(分支)结构:多条路径,根据不同的条件,只执行其中一个:③循环结构:重复某些代码④配合特定的语句实现选择 ...
- python基础之七种运算符
废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...
- 第二章----python基础
概要:python是一种计算机编程语言,有自己的一套语法,编译器或者解释器负责把符合语法的程序代码翻译成CPU能识别的机器码,然后执行.python使用缩进来组织代码块,Python程序中大小写是敏感 ...
- python基础--数据类型、运算符、流程控制
原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143165862 ...
- Python基础 之 变量、用户交互、if条件语句、while循环语句、编码、逻辑运算
一.Python介绍 Python 崇尚优美.清晰.简单 Python是一门动态解释型的强制性定义的语言. 二.编译型和解释型的区别 编译型:一次性将所有与程序编译成二进制文件. 缺点:开发效率低,不 ...
- 第二章 python基础(二)
第九节 函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字. 可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句. ...
随机推荐
- Vue中transition和animation的使用
一:二者的对比 1.动画循环就用animation.在animation中有一个animation-iteration-count属性可以定义循环次数.transition是执行一次以后就不会执行,但 ...
- Python web框架对比
- 怎么在Mac上安装Tomcat 7[转载]
本文来自http://wolfpaulus.com/journal/mac/tomcat7,谢谢Wolf Paulus 的分享 Tomcat 7 是Apache发布的第一款可以支持Servlet 3. ...
- MS SQL 全局临时表的删除
本来已经搜索到怎么删除了 如下: IF OBJECT_ID( 'tempdb..##TEMP_COPTD') IS NOT NULL Begin DROP TABLE ##TEMP_COPTD End ...
- oracle针对某列让特定信息排序[decode]
在ORACLE查询中,如果在没有排序,但又想让某列中特定值的信息排到前面的时候,使用oracle的decode(字段,'字段值',数字) 如 select name from user 查询出来的所有 ...
- @RequestParam 和 @ PathVariable 的区别
@RequestParam 和 @ PathVariable 的区别http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNo ...
- 【EMV L2】终端验证结果(Terminal Verification Results,TVR)
终端验证结果,Terminal Verification Results(TVR),Tag95,5bytes: 记录交易过程中,数据认证.处理限制.持卡人验证.终端风险管理.行为分析以及联机处理的结果 ...
- Day1-浅谈接口测试
1.接口测试的定义:从数据库里面取数据,插入数据,把前段和后端联系起来: 2.接口测试的必要性: 1)前端未开发好,但是接口已开发 2)页面上测不了的,可以通过接口来测试 3.接口测试需要注意: 1) ...
- Java基于opencv—透视变换矫正图像
很多时候我们拍摄的照片都会产生一点畸变的,就像下面的这张图 虽然不是很明显,但还是有一点畸变的,而我们要做的就是把它变成下面的这张图 效果看起来并不是很好,主要是四个顶点找的不准确,会有一些偏差,而且 ...
- Measuring Text Difficulty Using Parse-Tree Frequency
https://nlp.lab.arizona.edu/sites/nlp.lab.arizona.edu/files/Kauchak-Leroy-Hogue-JASIST-2017.pdf In p ...