Python技术迷

UiBot教程:UB语言中的运算符与表达式

今天和大家聊聊在UB语言中运算符与表达式,写代码的时候,这些小东西可能不太起眼,但它们在逻辑运算、数据处理、甚至是搞定各种复杂计算的时候可是得力助手。

你可能用惯了别的编程语言,但当你接触到UB语言时,可能会觉得它的运算符设计挺亲民的,特别是对于初学者来说,上手不难。

UB语言中的运算符

首先来看看UB语言的基本运算符。数学运算的部分挺常规的,加减乘除什么的,谁还不会呢?不过UB语言里还加了点小心思,比如你可以直接用 & 来连接字符串,这点还是挺方便的。我们直接上表格,一目了然:

运算符含义运算符含义
+加法<小于
-减法/求负<=小于等于
*乘法>大于
/除法>=大于等于
&连接字符串<>不相等
^求幂=相等/赋值
And逻辑与Or逻辑或
Not逻辑非Mod取余数

这些运算符中,最让人容易踩坑的可能就是 = 了。别的语言里它大多时候只干一个活儿:赋值。而在UB语言里,它还兼职做了判断相等的活儿。虽然听上去有点“忙”,但实际上也挺方便的。

表达式

运算符讲完了,咱再来看看表达式。UB语言里的表达式很有意思,它们由变量、常量、值以及运算符和括号组合而成。听起来挺平常?那是你还没看到它的实际操作。比如,表达式 5 + 3 * 2 看上去简单,但结果可是 11,因为乘法优先。这个在很多语言里都是通用的规则,UB语言当然也不例外。

一元运算符与二元运算符

UB语言里的运算符也分“一元”和“二元”。别被这个术语吓着了,其实就这么回事儿:

  • 一元运算符:只对一个元素操作。比如 Not 这个运算符就是一元的,用来做逻辑取反。就像生活中,有时我们会想:“真相和我想的完全相反啊!”这个“相反”就是 Not 的作用。

    isFalse = Not True  // isFalse 的值为 False
  • 二元运算符:作用于两个元素。+ 这个熟悉的不能再熟悉的运算符就是二元的,两个数相加,得出个结果。

    sum = 10 + 5  // sum 的值为 15

= 的双重身份

这个 = 是个多面手,既能用来赋值,又能用来判断相等。初学者可能会觉得这简直是“老朋友”了。比如:

  • 判断相等:当 = 出现在表达式内部时,它表示判断两者是否相等。

    isEqual = (a = b)  // 如果 a 和 b 相等,isEqual 为 True
  • 赋值:当 = 独立使用时,它就是个赋值符号,作用是把右边的值“送”到左边的变量里。

    a = 10  // 将 10 赋值给变量 a

引用与赋值的区别

说到赋值,不得不提一下引用类型的数据。UB语言里,当你把一个数组或字典赋值给另一个变量时,其实这个变量就成了原变量的“影子”,改动“影子”,原变量也跟着变。这和我们常见的值类型是不同的。

举个栗子:

arr1 = [1, 2, 3]    // 定义一个数组 arr1
arr2 = arr1         // arr2 是 arr1 的别名
arr2[0] = 10        // 修改 arr2 中的第一个元素
// 此时 arr1[0] 也变成了 10,因为 arr1 和 arr2 指向同一个数组

但是如果你把数组重新赋值成一个普通的数,那“影子”就没了,两个变量各过各的,互不影响。

arr1 = [1, 2, 3]    // 定义一个数组 arr1
arr2 = arr1         // arr2 是 arr1 的别名
arr1 = 100          // arr1 被重新赋值为整数
arr2[0] = 10        // 此时修改 arr2 不会影响 arr1

这种操作和对象引用有点像,挺适合处理复杂的数据结构。

运算符的优先级

最后,咱们来说说优先级。写代码的时候,谁先算,谁后算,这事儿可不能大意。UB语言里优先级的规则和大多数编程语言类似:

  1. 括号内的表达式(优先级最高)
  2. 一元运算符(比如 Not,取负号 -)
  3. 乘法、除法、取余(*, /, Mod)
  4. 加法、减法(+, -)
  5. 字符串连接(&)
  6. 关系运算符(比如 <, <=, = 等)
  7. 逻辑运算符(比如 And, Or)

优先级的存在让我们写的表达式不需要加太多括号就能算出正确的结果,不过,括号总归是个好东西,用来显式地控制顺序,保险。

result = 5 + 3 * 2  // result 为 11,因为乘法优先于加法
result = (5 + 3) * 2  // result 为 16,因为括号中的加法先计算

写到这里,大家是不是对UB语言的运算符和表达式有了个大致的了解?其实运算符和表达式就是这么回事,没啥高深莫测的,但细节之处却能让我们编写的代码更高效、更简洁。

现在市面上有很多RPA社群,但免费的却很少,这里推荐一个免费的交流社群,我也会在里面分享一些干货。

Image

如何获取今天的神器?
关注下方公众号,回复关键词:uibot 获取软件安装包。

Image

点分享

Image

点收藏

Image

点点赞

Image

点在看