自动化语言学习(python)
自动化语言学习:
python学习
输入:
a = input("输入密码:")
输出:
i = 20
print(f"我今年{i}岁了")
= : 赋值运算符
== : 等于运算符
变量:
-
定义变量的格式:变量名 = 对应的值;
-
举例:
clothes = 50 #衣服的价格是50元,closhes保存衣服的价格 pants = 40 #裤子的价格是40元,pants保存裤子的价格 Total = clothes + pants #总价为衣服加裤子的价格,Total保存总价 print(Total)#括号里的值不加引号则输出其变量对应的值,若有引号则输出变量名
-
变量只有被赋值以后才会被创建
标识符:
定义:被开发人员定义的变量名,函数名;
规则:
-
只能由数字,字母,_(下划线)组成;
-
不能由数字开头
-
严格区分大小写
-
不能是关键字
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from match while assert del global nonlocal with async elif if not yield or
标识符被放在括号内,对标识符本身没有影响
例:
(user) = 123456
print((user))
#但是(user)name这种不行,必须得整个的放置于括号中
数值类型:
- int(整形)
- float(浮点型)
- complex(复数)
x = a + bj #其中a为实部,b为虚部,j为虚数单位
- bool(布尔值,真(True)或假(False))(其中True和False必须严格区分大小写)(True相当于1,false相当于0)
检测数据类型的方法:type
print(变量名,type(变量名))
字符串:str
name = "xingliu"
name = 'xingliu'
name = """xingliu
sama1
"""
格式化输出:
占位符:生成一定格式的字符串
占位符的三种方式:
-
%
- %s
- %d
- %f(默认输出后六位小数)遵循四舍五入原则
name = "asd" age = 20 total = 15.8 print("我的名字是%s,年龄是%d,购买的东西的价格为%f" %(name,age,total)) -
format()
-
格式化 f
name = "asd"
age = 20
print(f"我的名字是{name},年龄是{age}" )
if else判断:
格式;
if 条件1:
else 条件2:
else 条件3:
else:
密码输入
# 获取密码输入
a = input("请输入密码:")
# 获取年龄并转数字
age = int(input("请输入年龄"))
# 判断密码
if a == "123456":
print("密码正确")
# 密码正确才判断年龄
if age < 18:
print("未成年,不能进入")
else:
print("成年,可以进入")
else:
print("密码错误,禁止访问")
while循环
格式:
定义变量
while 条件:
循环体(条件满足时做的事情)
改变变量
a = 1
b = 0
while a <= 10:
print(a)
b += a
a += 1
print(b)
while循环嵌套:
while 条件1:
循环体(条件满足时做的事情)
while 条件2:
循环体
改变变量2
改变变量1
i = 1
while i <= 3:
print(f"外第{i}次")
j = 1
while j <= 5:
print(f"内第{j}次")
j += 1
i += 1
for循环
格式
for 临时变量 in 可迭代对象:#这里的可迭代对象一般是字符串
循环体
str = 'helloworld'
for i in str:#i是常规写法
print(i)
"""
结果为
h
e
l
l
o
w
o
r
l
d
进程已结束,退出代码为 0
"""
range函数
range()#用来记录循环次数,相当于一个计数器
range(start,stop,step)#其中括号中的是其函数的参数(开始,结束,步长),只能是这三个,可以是其中之一或者都要
for i in range(1,9):#从1到9,但是输出的只到8,因为遵循包前不包后的原则
print(i)
#若是参数里只写一个数,默认从0开始
计算1+2+3......+100的值
j = 0#定义一个变量来保存结果
for i in range(1,101):
#print(i)
j += i
print("结果为,",j)#放在循环外直接输出最终值
break和continue(都是专门在循环中的关键字)
break:某一条件满足时,终止此循环
举例:抽卡,抽到第3抽出了
while循环:
i = 1
while i<=5:
print(f"第{i}个")
if i==3:
print("ok")
break
i=i+1
for循环:
for i in range(1,5):
print(f"第{i}个")
if i == 3:
print("ok")
break
continue:结束本次循环继续执行下一次循环
while循环时,在continue之前一定要修改计数器,否则会死循环
举例:抽卡,抽到第三抽歪了,继续抽
while:循环
i = 1
while i <= 5:
if i == 3:
print("NO")
i += 1
continue
print(f"第{i}个")
i += 1
for循环:
for i in range(1,6):
if i == 3:
print("NO")
continue
print(f"第{i}个")
i += 1
列表list(可迭代对象)
列表 = [数据1,数据2.....数据n]#其中数据的数据类型可以不相同
- 切片操作:
axz = [1,2,'zxc','nh',2.03,]
print(axz[0:3])#输出前三个数据
- 添加元素;
列表.append(想要添加的数据)
axz = [1,2,'zxc','nh',2.03,]
axz.append("wtf")#添加元素wtf到axz中
print(axz)#输出为[1, 2, 'zxc', 'nh', 2.03, 'wtf']
列表.insert(指定位置,想要添加的数据)
axz = [1,2,'zxc','nh',2.03,]
axz.insert(2,"wtf")#添加元素wtf到axz的2号位置中
print(axz)#输出为[1, 2, 'wtf', 'zxc', 'nh', 2.03]
列表.extend(想要添加的数据,但是只能是可迭代对象)
axz = [1,2,'zxc','nh',2.03,]
axz.extend("wtf")#添加元素wtf分散添加到axz的2号位置中
print(axz)#输出为[1, 2, 'zxc', 'nh', 2.03, 'w', 't', 'f']
- 修改元素(直接指定下标进行修改)
axz = [1,2,'zxc','nh',2.03,]
axz[2] = 'i'#修改2号位为i
print(axz)#输出为[1, 2, 'i', 'nh', 2.03]
以下为一个自动打开edge浏览器并打开百度官网首页的自动化操作脚本
# 导入浏览器驱动核心
from selenium import webdriver
# Edge浏览器的服务配置类,用来加载驱动
from selenium.webdriver.edge.service import Service
# 自动下载、匹配你电脑Edge版本的驱动,不用手动下载exe
from webdriver_manager.microsoft import EdgeChromiumDriverManager
# Edge浏览器参数配置(关闭自动化提示、弹窗、无痕模式等)
from selenium.webdriver.edge.options import Options
# 创建浏览器配置对象
edge_opt = Options()
# 关闭自动化提示弹窗
edge_opt.add_experimental_option("excludeSwitches", ["enable-automation"])
edge_opt.add_experimental_option("useAutomationExtension", False)
# 启动Edge浏览器
driver = webdriver.Edge(service=Service(EdgeChromiumDriverManager().install()),options=edge_opt)
# 浏览器窗口最大化
driver.maximize_window()
# 访问百度主页
driver.get("https://www.baidu.com")

浙公网安备 33010602011771号