第二节 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基础(二)
第九节 函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字. 可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句. ...
随机推荐
- 2018-2019-2 《网络对抗技术》Exp5 MSF基础应用 20165326
Exp5 MSF基础应用 实践内容 主动攻击实践 ms17_010_enternalblue 靶机:win7 x64成功 针对浏览器的攻击 ms14_064_ole_code_execution 靶机 ...
- mysql 自定义方法 function
在创建函数的时候,如果报如下错误 这个时候一定要先执行:set global log_bin_trust_function_creators=TRUE; 第二步骤: delimiter ;;CREAT ...
- openSUSE XFCE桌面 多媒体解码器安装
openSUSE15 leap 在终端命令行安装编解码器: 添加必要的软件源 zypper addrepo -f http://packman.inode.at/suse/openSUSE_Leap_ ...
- 【Python】随机数random模块randint、shuffle、random、sample、choice、uniform、
1 ).random() 返回0<=n<1之间的随机实数n:2 ).choice(seq) 从序列seq中返回随机的元素:3 ).getrandbits(n) 以长整型形式返回n个随机位: ...
- Jquery easyUI datagrid遇到空行做判断
点击[上月]按钮直到没有数据,上月按钮禁用.并提示无数据. 最直接的思路就是datagrid('reload',{month:-1}); 可是这样,想了很多办法无法获取加载的数据. 最简单的办法: $ ...
- 神州数码HSRP(热备份路由协议)配置
实验要求:掌握HSRP配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface g0/6 进入端口 ip address ...
- EmptyBeanUtil
package com.rscode.credits.util; import java.util.List; /** * * 判断实体是否为空 * @author tn * */ public cl ...
- 前端自动化构建工具--Gulp&&Webpack
前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...
- UVA - 558 Wormholes (SPEA算法模板题)
先给出题面:https://vjudge.net/problem/UVA-558 题意描述:给你含n个点以及m条边的图,让你判断在这个图中是否存在负权回路. 首先,我们来介绍什么是SPEA算法 SPF ...
- java 删除多层文件夹
/** * 因为不小心,写了一个死循环,在电脑里创建的了n多层空文件夹 * 并且手动最外层删除不掉. * 所以用写了本代码,从里向外的进行删除操作. * @author Singularity * @ ...