3、RPA基础知识:注释、变量以及数据类型、标识符和关键字、输入函数、输出函数、运算符、程序类型转换

好,咱们正式开始接触RPA开发的核心语法了。说实话,很多新手一上来就被各种术语吓住了。其实没那么复杂。你想想看,写RPA脚本就像是在跟电脑下指令,你得告诉它:这个数据放哪里、怎么算、结果存成什么样。今天这一章,就是把这些「指令语言」拆开揉碎了讲清楚。

3.1 注释:给代码加个「便签」

注释这东西,说白了就是写给人类看的备注。电脑执行代码时会自动忽略它。我个人的习惯是,但凡逻辑稍微绕一点的代码,必须加注释。为什么?因为三个月后你自己回来看,可能都忘了当初为啥这么写。

我的经验: 在RPA项目中,注释尤其重要。流程跑起来可能很快,但一旦出问题要排查,注释就是你的救命稻草。我曾经接手过一个同事留下的RPA脚本,没一句注释,光理解逻辑就花了两天。

注释有两种写法:

  • 单行注释:# 开头,只对本行有效
  • 多行注释: 用三个引号 '''""" 包裹
# 这是单行注释,用来解释下面这行代码
name = "张三"

"""
这是多行注释
可以写好几行说明文字
一般用在函数或模块开头
"""
age = 25
注意: 注释不是越多越好。好的注释是「为什么这么做」,而不是「做了什么」。代码本身已经能说明「做了什么」了。

3.2 变量:给数据贴个标签

变量,你可以把它理解成一个「盒子」。你把数据放进去,然后给盒子贴个名字。以后你想用这个数据,直接喊盒子的名字就行。

在RPA里,变量用得特别频繁。比如你从网页上抓取了一个订单号,就得先存到变量里,后面才能拿去填表、发邮件或者做判断。

# 给变量赋值
order_number = "ORD2024001"
customer_name = "李四"
total_amount = 299.99

嗯,这里要注意:变量名是区分大小写的。Namename 是两个完全不同的变量。我刚开始学的时候就在这上面栽过跟头,找了半天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 标识符和关键字:起名字的规矩

给变量起名字,不是随便起的。有一套规则你得遵守:

  • 只能包含字母、数字和下划线
  • 不能以数字开头
  • 不能跟系统关键字重名
  • 建议用有意义的英文单词,别用拼音

哪些是关键字?就是系统已经「预定」了的词,比如 ifforwhileTrueFalse 这些。你想想看,如果你给变量起名叫 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流程真正「活」起来的地方。