3、RPA基础知识:注释、变量以及数据类型、标识符和关键字、输入函数、输出函数、运算符、程序类型转换
好,咱们正式开始接触RPA开发的核心语法了。说实话,很多新手一上来就被各种术语吓住了。其实没那么复杂。你想想看,写RPA脚本就像是在跟电脑下指令,你得告诉它:这个数据放哪里、怎么算、结果存成什么样。今天这一章,就是把这些「指令语言」拆开揉碎了讲清楚。
3.1 注释:给代码加个「便签」
注释这东西,说白了就是写给人类看的备注。电脑执行代码时会自动忽略它。我个人的习惯是,但凡逻辑稍微绕一点的代码,必须加注释。为什么?因为三个月后你自己回来看,可能都忘了当初为啥这么写。
注释有两种写法:
- 单行注释: 用
#开头,只对本行有效 - 多行注释: 用三个引号
'''或"""包裹
# 这是单行注释,用来解释下面这行代码
name = "张三"
"""
这是多行注释
可以写好几行说明文字
一般用在函数或模块开头
"""
age = 25
3.2 变量:给数据贴个标签
变量,你可以把它理解成一个「盒子」。你把数据放进去,然后给盒子贴个名字。以后你想用这个数据,直接喊盒子的名字就行。
在RPA里,变量用得特别频繁。比如你从网页上抓取了一个订单号,就得先存到变量里,后面才能拿去填表、发邮件或者做判断。
# 给变量赋值
order_number = "ORD2024001"
customer_name = "李四"
total_amount = 299.99
嗯,这里要注意:变量名是区分大小写的。Name 和 name 是两个完全不同的变量。我刚开始学的时候就在这上面栽过跟头,找了半天bug,结果发现是大小写写错了。
3.3 数据类型:盒子里的东西分种类
变量这个「盒子」能装的东西,其实是有分类的。你不能把文字和数字混为一谈,虽然它们看起来都是「数据」。RPA里常见的数据类型有这么几种:
| 类型 | 说明 | 例子 |
|---|---|---|
| 整数 (int) | 不带小数点的数字 | 100, -5, 0 |
| 浮点数 (float) | 带小数点的数字 | 3.14, -0.5, 99.9 |
| 字符串 (str) | 文本内容,用引号包着 | "你好", 'abc', "123" |
| 布尔值 (bool) | 只有两个值:真或假 | True, False |
| 列表 (list) | 一组数据的有序集合 | [1, 2, 3], ["a", "b"] |
避坑指南: 我曾经在做一个财务对账的RPA流程时,从Excel里读出来的金额明明是数字,结果因为格式问题变成了字符串。直接拿去做加法运算,结果变成了字符串拼接——"100" + "200" = "100200",而不是300。从那以后,我每次读取数据都会先检查类型。
3.4 标识符和关键字:起名字的规矩
给变量起名字,不是随便起的。有一套规则你得遵守:
- 只能包含字母、数字和下划线
- 不能以数字开头
- 不能跟系统关键字重名
- 建议用有意义的英文单词,别用拼音
哪些是关键字?就是系统已经「预定」了的词,比如 if、for、while、True、False 这些。你想想看,如果你给变量起名叫 if,那电脑就分不清你是在用条件判断还是在用变量了。
# 合法的标识符
user_name = "小王"
orderCount = 10
_data1 = "测试"
# 不合法的标识符
# 1user = "错误" # 不能数字开头
# user-name = "错" # 不能有横线
# if = "错" # 关键字不能用
price 就比 p 好,customer_list 就比 cl 好。RPA流程往往很长,清晰的命名能省去你大量回头查代码的时间。
3.5 输入函数:让用户告诉程序
RPA流程有时候需要人工介入,比如输入一个验证码、选择一下文件路径。这时候就要用到输入函数了。
在Python里,输入函数是 input()。它会弹出一个输入框,等用户敲完回车,然后把输入的内容以字符串形式返回。
# 获取用户输入
user_input = input("请输入你的姓名:")
print("你好," + user_input)
注意了,input() 返回的永远是字符串。哪怕你输入的是数字 123,它也是字符串 "123"。这一点在RPA里特别容易踩坑——你从对话框里拿到一个数字,直接去做数学运算,结果报错了。
3.6 输出函数:让程序告诉用户
有输入就有输出。输出函数 print() 能把结果显示在控制台或者日志里。在RPA开发中,print() 最常用的场景是调试——流程跑到哪一步了、变量值是多少,打印出来看看。
name = "RPA流程"
version = 1.0
print("当前流程名称:", name)
print("版本号:", version)
你可以一次打印多个值,用逗号隔开就行。程序会自动在它们之间加一个空格。
实用技巧: 我在调试RPA流程时,习惯在关键节点加上 print("【调试】当前订单号:", order_id) 这样的输出。等流程跑通了,再把这些调试输出删掉或者注释掉。这比用断点调试要快得多。
3.7 运算符:让数据动起来
运算符就是用来操作数据的「工具」。RPA里最常用的运算符分这几类:
算术运算符
就是加减乘除那些:+、-、*、/、//(整除)、%(取余)、**(幂运算)。
a = 10
b = 3
print(a + b) # 13
print(a / b) # 3.333...
print(a // b) # 3(整除,只取整数部分)
print(a % b) # 1(余数)
比较运算符
用来比较两个值,结果永远是布尔值(True或False):==、!=、>、<、>=、<=。
print(5 == 5) # True
print(5 != 3) # True
print(10 > 20) # False
逻辑运算符
用来组合多个条件:and(与)、or(或)、not(非)。
age = 25
is_student = True
print(age > 18 and is_student) # True(两个条件都满足)
print(age > 30 or is_student) # True(至少一个满足)
==,一个等号 = 是赋值。这个错误我见过太多次了,包括我自己也犯过。写条件判断的时候,多看一眼。
3.8 程序类型转换:把数据变成你想要的格式
前面说了,input() 拿到的都是字符串。如果你要拿它做数学运算,就得先转成数字。这就是类型转换。
常用的转换函数:
int(x):把 x 转成整数float(x):把 x 转成浮点数str(x):把 x 转成字符串bool(x):把 x 转成布尔值
# 从输入获取数字
price_str = input("请输入商品价格:") # 输入 "99.9"
price = float(price_str) # 转成浮点数 99.9
quantity = int(input("请输入数量:")) # 输入 "3",直接转成整数 3
total = price * quantity
print("总价:", total)
这里有个坑:如果你输入的是 "abc",然后强行用 int() 去转,程序会直接报错。所以我在RPA流程里,一般会先判断一下输入的内容是不是数字,再决定要不要转换。
总结一下: 类型转换在RPA里几乎是每天都要用的操作。从Excel读数据、从网页抓数据、从对话框获取输入——这些数据进来的时候都是字符串。你得根据实际需求,把它们转成合适的类型,才能做后续的处理。记住一句话:先检查,再转换,后使用。
好了,这一章的内容就到这里。这些基础概念看着多,其实用起来就那么回事。下一章咱们开始讲流程控制——if判断和循环,那才是RPA流程真正「活」起来的地方。