2.2 变量

在初中代数的时候,我们就学习了变量。变量的作用是把具体的数值抽象,没有变量其实就无所谓程序了。例如使用一个软件或者app,需要登录,那么这个用户名就是一个变量,密码也是一个变量。用户输入的账号和密码会分别保存到两个变量里。
变量是编程语言里保存数据的最小单元。
python里面的变量和代数里面的变量类似,但稍有不同。变量的特点是:
特点一:变量是有类型的;
特点二:变量必须初始化才能使用。
什么叫做变量的定义?变量的定义就是说明这个变量的类型,同时在内存中分配一个位置来保存变量的值,即使这个变量目前还没有赋值。例如:
i=8
print(i)
print(k)
变量的初始化,其实就是第一次给变量赋值。通常来说,可以把变量的定义和变量的初始化写在一起,也就是”i=8”这样的写法。我们称之为:“把整数8赋给变量i”。
上面的代码第三行会报错,因为k并没有赋值

以前学习的变量通常是a、b、m、n这样的简单字母,而在编写复杂代码的时候,就需要更直观的变量名,例如appleNumber这样的名字,而对于变量名的规范,有以下几点,否则会出语法错误:
(1)变量的开头第一个字符不能是数字
(2)变量通常都由字母和数字组成,可以使用各国的语言字符(例如中文、日语、韩语),变量里可使用的特殊字符只有下划线 _。其余的特殊字符例如#、@、!、(*等等都是不允许在变量名里出现的。
(3)不可以使用内置的关键字(例如if、for)作为变量名。 变量名还支持中文,但绝不推荐使用中文,因为非常容易造成不可恢复的乱码。 所有内置的关键字,写出来,在编译器里面都显示成不同的颜色,例如下面代码的import、if:
import pymysql
_i_=8
if _i_>4:
    print(_i_)
这里就命名了一个下划线开头的变量_i_
假设写出if =9就是非法的:因为if不能作为变量名,违反了规则(3)。
符合这三条,就可以创建出任意一个变量。
还有一条关于命名方法的,非强制性:变量的命名通常来说要求望文知义,由字母组成,新单词的第一个字母大写以便区分单词。 例如:apple 就比aaabb好,第一个可以看出来是苹果,也许这个是苹果的数量,但是aaabb看上去就像是随便打上去的。gongZi 这个拼音读起来就是工资,比起fdadfad这样的变量更容易理解。

练习题

  • 判断下面命名的变量是否有语法错误:
    1. !abc (2分) [判断]
    2.a23456 (2分) [判断]
    3._abc (2分) [判断]
    4.____123 (2分) [判断]
    5.a#34b (2分) [判断]
    6.fdafDaljflsa (2分) [判断]
    7.bool (2分) [判断]
    8.if (2分) [判断]
    9.1a2b3c (2分) [判断]
    10.ABC (2分) [判断]
    11.a-2c3 (2分) [判断]
    12.a_2c3 (2分) [判断]
  • 本题将展示变量是如何使用的,变量的命名为何重要。需要用到的知识:输入、输出、变量。
    1.根据题意完成代码 (15分) [编程填空]
    有个人的购物车一共有三种商品,分别是苹果、路由器以及运动鞋
    有满减以及优惠卷,运费等等,请根据代码注释填写。
    我们需要计算购物车最后的总价是多少。
    <code><div class='codeNewLine'><span class="comments">#定义苹果价格变量,9.8元一斤</span></div><div class='codeNewLine'>        =9.8</div><div class='codeNewLine'><span class="comments">#定义路由器价格变量,298一个</span></div><div class='codeNewLine'>        =298</div><div class='codeNewLine'><span class="comments">#定义运动鞋价格变量,59.9一双</span></div><div class='codeNewLine'>        =59.9</div><div class='codeNewLine'></div><div class='codeNewLine'><span class="comments">#定义苹果数量(单位为斤)并赋值为10</span></div><div class='codeNewLine'>        </div><div class='codeNewLine'><span class="comments">#定义路由器数量(单位为个)并赋值为5</span></div><div class='codeNewLine'>        </div><div class='codeNewLine'><span class="comments">#定义运动鞋数量(单位为双)并赋值为3</span></div><div class='codeNewLine'>        </div><div class='codeNewLine'></div><div class='codeNewLine'><span class="comments">#定义一个优惠券变量并赋值为2</span></div><div class='codeNewLine'>        </div><div class='codeNewLine'></div><div class='codeNewLine'><span class="comments">#定义一个运费变量并赋值为6</span></div><div class='codeNewLine'>        </div><div class='codeNewLine'></div><div class='codeNewLine'></div><div class='codeNewLine'><span class="comments">#计算购物车总价,商品价格加上运费,最后减去优惠卷价格</span></div><div class='codeNewLine'>sum =         </div><div class='codeNewLine'></div><div class='codeNewLine'><span class='pyFunction'>print</span>(sum)</div></code>