python 运算和流程控制
写在之前
今天突发奇想,想要弄一个微信自动抢红包的程序,首先去百度这个,找到了有两种方法
一种是安装「pocoui」这个第三方库,但没有给出详细代,我就没有使用这个方法。
我用使用的是第二种借助「Airtest IDE」工具,在进行cv大法的时候,发现连接上了我的Android手机,但是运行打开微信的代码时,没有打开我的微信,我也不知道是代码的问题还是我手机的问题,因为运用了其他的工具,我也没有去深入了解。
01 三种格式化输出的方式
python从创建到现在,已经更新到python3.8.x,也诞生了三中格式化输出的方式。
那么什么叫格式化输出?
符合某种规范的print
什么叫格式化?
符合的规范叫做格式化
第一种格式化方式(python 3.0)
占位符
name = 'Thousand_Mesh'
age = 16
print('my name is %s my age is %s' % (name, age))
my name is Thousand_Mesh my age is 16
age = 16
print('my age is %d' % age)
my age is 16
%s(针对所有数据类型)、%d(仅仅针对数字类型)
format格式化 (python 3.4)
讲真,很鸡肋的格式化的方法,如果你需要使用这个,遇到多参数的时候,还是需要在句子后面噼里啪啦传上一大堆参数。使用这个不如用占位符或下面的f-String格式化。
name = 'Thousand_Mesh'
age = 16
print("Hello, {}. You are {}.".format(name, age))
Hello, Thousand_Mesh. You are 16.
f-String 格式化
相比较占位符的方式,python3.6版本新增了f-String格式化的方式,比较简单易懂,这是目前我用的最多的方式,推荐使用这种方式。
name = "Thousand_Mesh"
age = 16
print(f"Hello, {name}. You are {age}.")
Hello, Thousand_Mesh. You are 16.
大写的F也适用。
name = "Thousand_Mesh"
age = 16
print(F"Hello, {name}. You are {age}.")
Hello, Thousand_Mesh. You are 16.
age = 16
print(f'{age*2}')
32
.xf 可以去小数
salary = 6.6666
print(f'{salary:.2f}')
02 基本运算符
算术运算符
算术运算符就是我们从小学就开始抓起的加减乘除,这里我就不多介绍,如果认为有问题的同学,可以抽空回到小学联系你小学班主任,让他给你补补课。
print(1+2)
3
x = 10
y = 20
res = x+y
print(res)
30
# /有零有整除,得到一个浮点型
print(10/3)
3.3333333333333335
# 地板除,只取整数部分
print(10//3)
print(10//4)
3
2
# %:取余
print(10 % 3)
1
# **,幂
print(10**3)
1000
比较运算符
此处直接贴图了,以下假设变量a为10,变量b为20。
pwd = '123'
print(pwd != '123')
print(pwd == '123')
False
True
l1 = [1, 'a', 3]
l2 = [3]
print(l1 < l2) # False
True
try:
l3 = [1, 3]
print(l1 < l3) # 报错,列表比较大小仅限于同一位置的对应的值是相同的类型
except Exception as e:
print(e)
name 'l1' is not defined
赋值运算符
此处直接贴图了,以下假设变量a为10,变量b为20。
age = 19 #(一元赋值运算符)
age = age + 1
print(age)
20
age = 19
age += 1 #(二元赋值运算符)
print(age)
20
age = 19
age *= 10
print(age)
190
逻辑运算符
返回True或Flase(二元运算符)
此处直接贴图了,以下假设变量a为10,变量b为20。
# 从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边
print(3 > 3 and 1 > 2 or 2 > 1) # False
True
身份运算符
身份运算符用于比较两个对象的存储单元。比较的是两者id返回布尔值
is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等。
x = 257
y = x
z = 257
print(f'x is y:{x is y}')
print(f'x == y:{x == y}')
print(f'x is z:{x is z}')
print(f'x == z:{x == z}')
x is y:True
x == y:True
x is z:False
x == z:True
Python运算符优先级
python运算符的优先级相当于数学中的先算乘除再算加减,但是这很愚蠢,优先级高的你括号括起来就行了...
03 流程控制之if 判断
你现在在十字路口,过马路。如果看到绿灯就过马路;否则看到红灯就等待
if就是如果的意思
light = 'red'
if light == 'red':
print('等')
怎么使用if判断
最简单的if(单分支结构)
<代码块1>
if <条件>:
<代码块2> # 当条件为True的时候执行代码块2然后执行代码块3,否则不执行代码块2直接执行代码块3 # tab
<代码块3> # 当条件不成立时直接运行代码块3
light = 'green'
if light == 'red':
print('等')
print('啥子')
双分支结构
<代码块1>
if <条件>:
<代码块2> # 当条件为True的时候执行代码块2然后执行代码块3 # tab
else:
<代码块4> # 当条件不成立时,运行代码块4,然后再运行代码块3
<代码块3> # 当条件不成立时首先运行代码块4,然后运行代码块3
light = 'yellow' # 1
if light == 'red':
print('等') # 2
else:
print('闯马路') # 4
print('shit') # 3
多分支结构
elif <条件n>:
<代码块n>
else:
<代码块4> # 当if和elif的所有条件都不成立时,执行代码块4,然后执行代码块3
<代码块3>
light = 'white' # 1
if light == 'red':
print('等') # 2
elif light == 'yellow':
print('注意')
elif light == 'green':
print('一起牵着手过马路吧')
else:
print('傻子,没有这个信号灯') # 4
print('shit') # 3
if 的嵌套
多个if判断和if...elif...else的区别?
对于猜年龄这个应用而言,多个if耗费更多的时间
age = 18
inp_age = int(input('age:')) # 17
if age > inp_age: # a # a成立就做,和b,c无关
print('猜大了')
if age < inp_age: # b # b成立就做,和a,c无关
print('猜小了')
if age == inp_age: # c # c成立就做,和a,b无关
print('猜中了')
if 条件1:
pass
if 条件2:
pass
age = 18
inp_age = int(input('age:')) # 17
if age >= inp_age: # a
if age > inp_age: # b
if 'e':
print('猜小了') # a成立b也成立e也成立我才做
else: # c
print('猜中了') # a成立c成立我才做
else: # d # a不成立我就做
print('猜大了')
多个if判断和if的嵌套的区别?
if 条件1:
if 条件2:
pass
python 运算和流程控制的更多相关文章
- python操作符与流程控制
操作符: 算术运算: + - * / % // ** 逻辑运算:and or not 身份运算: is not is 不可变数据类型:数字 字符串 字典key 可变数据 ...
- Python基础之:Python中的流程控制
目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样 ...
- python中的流程控制
目录 引言 流程控制的分类 分支结构 单if结构 if与else结构 if与elif与else结构 if分支的嵌套 循环结构 while循环 while + break循环 while + conti ...
- Python成员运算,身份运算和流程控制
成员运算 in #判断--在--里面 print('a' in 'abcd') # 字符串判断a是否在abcd里面 print('you' in 'how are you') # 这种整体也可以判断 ...
- Python赋值运算及流程控制
1. 内置函数 1> len:统计元素长度 str1 = 'wonderful' print(len(str1)) result: li = [,,] print(len(li)) result ...
- python全栈 流程控制;while 循环 格式化输出 运算符 及编码
python全栈开发 1循环 2break和continue的区别 3格式化输出 4运算符 5编码 一.流程控制while循环 while条件: 代码块(循环体) 1.死循环; while True; ...
- Python自动化开发 - 流程控制
一.拾遗主题 1.变量 理解变量在计算机内存中的表示 >>> a = "ABC" Python解释器干了两件事情: 在内存中创建了一个'ABC'的字符串: 在内存 ...
- Python编码、流程控制、格式化输出
Python编码 初始编码: 电脑的传输,还有储存,实际上都是010101010 ASCII码: (American Standard Code for Information Interchange ...
- python 运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
随机推荐
- JVM之Java类加载机制
什么是类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这既是虚拟机的类加载机制 类的生命周期 生命周期简述 ...
- Linux下压缩和解压命令
http://man.linuxde.net/tar
- jupyter notebook + MobaXterm Linux端远程部署
$jupyter notebook --generate-config $python In []: from notebook.auth import passwd In []: passwd() ...
- linux常用查看系统操作的linux命令
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostna ...
- cad二次开发中DBText对象的外框GeometricExtents有问题?
CAD2007版本 acDoc.Editor.WriteMessage( string.Format("[{0:F1},{1:F1},{2:F1}] - [{3:F1},{4:F1},{5: ...
- leetcode 547朋友圈
方法一:染色法 类似于岛屿的个数也可以用染色法:通过深度优先搜索来做 使用一个数组来表示当前朋友a是否已经包含到已经遍历的朋友圈中,遍历所有的朋友,如果当前朋友没有在已经访问的朋友圈中,即visite ...
- 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能
package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战
笔记 2.SpringBoot2.x日志讲解和自定义Logback配置实战 简介:讲解SpringBoot2.x整合Logback配置实战 1.官网介绍:https://docs.spring ...
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_6 CookieValue注解
演示 访问服务器会有session.它是一cookie的形式返回给客户端的 拿到的值
- Vue调试工具vue-devtools安装详解
https://blog.csdn.net/github_37360787/article/details/80284418