内容正文:
2.2 变量
《Python程序设计》
同步精品课堂
高教版
1
● 熟悉python变量名
● 掌握python变量的使用
● 了解python变量的管理
一 教学目标
二 教学重难点
Python 变量
熟悉python变量名
掌握python变量的使用
了解python变量的管理
回顾上节课的知识点,简述python程序设计风格。
三 导入新课
四 新知讲授
变量名
Python 中的变量(variable) 是用来标识对象或引用对象的。Python作为一种面向对象的编 程语言,它的实例、函数、方法、类都是对象,所有的Python 对象都拥有三个属性,即身份、类型和值。
每一个对象都有一个唯一的身份用于标识自己,可以使用内建函数id() 来得到这个身份标 识。另外,对象的类型决定了该对象可以保存什么类型的值,可以进行怎样的操作等,可以用内建函数 type() 查看 Python 对象的类型。
四 新知讲授
变量名
变量通过变量名访问。Python中变量名的命名规则也与大多数程序设计语言一样遵循标 识符(在程序设计语言中可以作为变量名或其他对象名称的有效符号)命名规则:首字符必须是 字母或下划线;其余字符可以是字母、下划线或是数字;区分大小写。例如:
四 新知讲授
变量名
“_foo” 、“__foo” 、“__foo__” 这类由单下划线或双下划线开头的标识符对解释器来讲是有特殊意义的, 一般与类的相关特性有关,有的是受保护的变量、有的是类的私有成员、有的是类 的构造函数等,所以在变量名的选择时应该尽量避免使用这种形式的标识符。另外,Python 中的关键字也不能用作变量名。
四 新知讲授
变量名
每一种程序设计语言都有固定的关键字,关键字不能随便作为其他对象的标识符。在程序 设计语言的集成开发环境中, 一般会用不同的颜色或字体标识关键字来表示语法突出。下列为 Python 3.6中的33个关键字(可通过keyword 模块中的kwlist 属性查看):
四 新知讲授
变量名
代码中出现的 while 和 if 都是关键字。
值得注意的是,尽量避免将函数名当作变量名,例如,如果定义了一个字符串str="hi", 则Python 系统的内建函数 str 就会被改写,从而失去str() 函数的功能。
四 新知讲授
变量名
变量命名时应尽量做到见名识意。例如:
上例计算某个5人组成员的税额(薪酬一样),用变量 num 表示人数,用 salary 表示薪酬,用 tax 表示税额,这3个变量名的含义一目了然。如果需要组合单词来命名,则常用驼峰式命名法 如 stuName 和下画线式命名法如 stu_name, 前者构成标识符时第一个单词首字母小写,其余单词 首字母均大写;后者则用多个下画线连接多个单词。
四 新知讲授
变量的使用
变量必须在赋值后才能使用。不过与传统静态语言不一样,Python 不需要显式声明变量,而是在第一次对变量名赋值时由值自动“确定”变量的类型,因此 Python 属于动态类型(dynamic yping) 语言,对象在运行时绑定类型。例如:
四 新知讲授
变量的使用
在上述代码中,a 没有赋值,所以无法直接使用,变量b 和 c 均有赋值,通过赋值号“=”右边的表达式的结果确定左边变量的类型。
四 新知讲授
变量的使用
可以使用type() 函数查看变量b 和 c 的类型:
变量b 是浮点型,变量c 是字符串类型。
四 新知讲授
变量的管理
动态类型是 Python的重要特色之一,即 Python中对象的类型和内存都是在运行时确定的。 每个对象会在内存中申请开辟一块空间来保存该对象,该对象在内存所在位置的地址被称为 “引用”,对于内存中的对象 Python会采用一种称为“引用计数”的方式进行管理,Python 会对每个对象记录其引用数。例如:
四 新知讲授
变量的管理
每个对象被创建时都会获得一个身份id,并伴随一个引用计数器。数据对象5.8被创建并 被赋值给变量a, 则该数据对象的引用计数器就增加1,可以利用id() 函数查看变量 a 引用的数 据对象5.8的id 值。
四 新知讲授
变量的管理
如果把同样大小的5.8赋值给变量b 并通过id() 函数查看b 的 id, 发现它和a 的 id 是不一 样的,说明变量a 和 b 并未指向相同的数据对象,虽然都是5.8,但 Python却在执行两个赋值语 句时创建了两个浮点数对象5.8,这两个5.8分别存储在不同的内存空间中。
四 新知讲授
变量的管理
单独使用id(5.8) 返回的又是另外一个不同的id 值,这是因为此处的5.8其实是第3个新 创建的数据对象,与前两个5.8是不同的对象。而执行“c=a” 后查看变量c 的 id, 会发现其