变量 和 注释

转自:白月黑羽Python3教程:http://www.python3.vip/doc/tutorial/python/0003/

 

Python语言中,所有的 数据 都被称之为 对象

每个整数、小数、字符串,还有我们后面要学的 字典、元组、列表 等, 都是对象。

在Python程序运行的时候,这些对象 其实就是 内存中的一段数据 。

变量的概念

大家来思考一个问题:

人类语言里面,当我们提到一个人或物体, 是怎么说的?

比如说 聊天的时候,提到你的一个同学, 提到一支球队

对了,用他们的 名字

比如: 王晓刚同学, 湖人队等等。

如果不允许使用 事物的名字, 我们的话就没法说了。

人类语言是这样,计算机语言也是一样,如果产生了数据对象,却没有给它们起名字,就像这样

43
'你好,今天天气真不错'

  

我们后面的代码,怎么去使用这个数字 43 和 字符串 '你好,今天天气真不错' 呢?

编程语言为了方便操作数据对象,也需要给对象起一个名字。

我们把Python语言中对象的名字, 称之为 变量名 , 有时也简称 变量

我们可以这样给数据对象起名字

age = 43
weather = '你好,今天天气真不错'

 

变量名 和 数据对象 之间 用 等号 连接

其中

age 就是 数字对象 43 的名字,我们也可以说:变量age的值 是数字对象 43

weather 就是 字符串对象 你好,今天天气真不错 的名字,我们也可以说:变量 weather 的值 是 字符串对象 你好,今天天气真不错


定义了变量之后,我们写代码,需要用到 这 两个对象时,就可以用它们的名字: 变量名。

比如

age = 43
weather = '你好,今天天气真不错'
print(age)
print(weather)

  

代码执行的时候,解释器看到 变量名 就知道代表的就是对应的数据对象。

大家运行一下,可以发现,可以打印出变量所代表的 对象。

下面这行语句, 定义了 一个变量 age 值为 43,

age = 43

  

也可以称之为: 给变量 age 赋值 为43

变量的命名规则

变量名不是随便取的,有一定的规则。

  • 变量名可以包含 字母、数字和下划线。

  • 变量名可以以字母或下划线打头,比如 var1 , 或者 _var 。

  • 但不能以数字打头, 像 1var 这样是不行的。

  • 变量名中不能包含空格。

  • 变量名中可以包含下划线,像下面这样都是可以的

    Hello, var1, age2name, age_name

  • 变量名 不能 和 关键字 同名,

    比如

      as = 1997
    

      

    as 是 Python的关键字,是Python语言中有特殊意义的名字, 不能用作变量名。

  • 变量名 不要 和 内置函数 同名

    比如

      type = 333   # 这行代码就把type这个内置函数名 重新赋值为数字对象 333 了type(333)    # 相当于把数字对象当做函数对象进行调用,执行的时候就会出错了。
    

      

    可以点击这里查看Python中有哪些关键字和内置函数

一个好的工程师,变量名不是乱取的,我们通常称之为见名知意原则,就是看到变量名,就知道变量对应的数据的含义。

比如 startTime, your_name, 这样的变量名,看了就知道是啥意思

而像 a , b , c 这样的变量名就不好,因为看了不知道是啥意思。

 

注意:在Python中 变量名是大小写敏感的。

不可以 在定义的时候使用 startTime 作为变量名,而在使用的时候,用 starttime 。

下面的代码就不正确

startTime = '20180504'
print(starttime)

变量值的变化

对象的名字为什么叫变量呢?

因为它会变 :)

Python语言中,变量的值会可以产生变化

这里特别要注意的是,这种变化有如下两种情况

第一种:变量 重新指向了 新的对象

这种情况也被称之为 变量重新赋值,比如

age = 43
age = 'hello'

运行程序的时候,第一条语句执行完的时候,变量名age就是数字对象 43 的名字。

其对应关系如下图所示:

image

 

第二条语句执行完, 变量age就不是数字对象 43 的名字了,而是字符串对象 hello 的名字了。

其对应关系如下图所示:

image

当第二条语句执行完, 数字对象 43 就没有变量引用它了。

注意 没有被引用的对象,解释器会在随后某个时候从内存中清除掉。


一个对象可以有多个名字,比如

kid = '小明'
student = kid
prettyboy = kid

这样, 小明 这个字符串对象就有3个 变量名 kid、 student 和 prettyboy

这3个名字 指向同一个对象。

其对应关系如下图

image

 

如果后面的代码将其中一个变量名进行重新赋值,比如

kid = '小周'

这只会改变kid 一个变量和其指向对象的 关系,并不会改变其他的变量名 student 和 prettyboy

其对应关系如下图

image

 

第二种: 变量 指向的对象 本身发生了变化

这种情况,是当变量指向的对象是可变的数据类型,比如:列表、字典,或者自定义的类实例对象。

这几种对象类型我们后面会学。

这里先给大家举个字典对象的例子

 info = {'name' :'黑羽白月', 'height':'180cm'}info['height'] = '175cm'print(info)

第二条语句就是让变量对应的字典对象的值 发生了变动

 

注释

虽然Python语言是一种容易理解和阅读的编程语言。

但是毕竟不是人类语言。

我们写的代码 为了以后 别人能读懂, 甚至以后自己能看懂, 就需要加入一些我们熟悉的人话,也就是人类语言,辅助理解。

这些辅助理解的人话,就是注释。

这些人话可以是任何一种语言,只要方便你看懂代码就行,中文、英文、法文都可以。

Python的注释以 # 开头,后面的内容都是注释

比如

# info 变量 记录 作者的信息,包括 名字,身高,体重
info = {'name' :'黑羽白月', 'height':'180cm'}# 改变 作者的身高记录
info['height'] = '175cm'print(info)  # 打印身高到屏幕上

怎么样,有了上面的注释,这些代码是不是更容易读懂了?

我们要注意的是,通常注释是不会对代码的执行有影响的(除了一些非常特殊的注释,比如代码开头的文件编码注释,以后会讲)

注释可以单独作为一行, 比如:

# info 变量 记录 作者的信息,包括 名字,身高,体重
info = {'name' :'黑羽白月', 'height':'180cm'}


也可以接在代码的后面,比如:

print(info)  # 打印身高到屏幕上

  

也可以连续有多行的注释,比如:

# info 变量 记录 作者的信息
# 包括 名字,身高,体重
info = {'name' :'黑羽白月', 'height':'180cm'}

   

所以,如果我们接下来执行下面的代码

print(kid)
print(student)
print(prettyboy)

运行结果就是

小周
小明
小明

  

 

转载于:https://www.cnblogs.com/allenblogs/p/10224291.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery 教程02-jQuery 语法

通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行”操作”(actions)。 jQuery 语法 jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。 基础语法&#x…

jQuery教程03-jQuery 元素、id、.class和*全选择器

jQuery 基础选择器 jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。 jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定…

前台一键备份数据库+PHP实现方式

一、实现思路 1、单击备份按钮传递参数到后台,ajax实现: function backupDatabase(){var back backupDatabase;$.ajax({url:system_backup.php?dobackupDatabase,type:POST,data:back,dataType:json,beforeSend:function(){intervalwindow.setInterv…

网络操作系统 第四章 磁盘管理

习题 1.磁盘的数据结构包括哪些内容? 1)主引导扇区 2)操作系统引导扇区 3)文件分配表 4)目录区 5)数据区 2.什么是基本磁盘和动态磁盘? 1)基本磁盘: 基本磁盘和旧版本Windows操作系统中使用了相同的磁盘结构。在使用基本磁盘时,我们被限制只能在每个磁…

jQuery教程04-jQuery_this选择器

jQuery选择器之特殊选择器this 相信很多刚接触jQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 1、JS中的this this是JavaScript中的关键字,指的是当前的上下文对象,简单的说就是方法/属…

网络操作系统 第七章 管理TCP/IP网络

习题 1.简述TCP /IP 通信协议的四层结构的内容及应用。 应用层:应用程序间沟通的层,如简单电子邮件传输协议(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,…

windows+PHP+shell_exec()无法执行的原因

今天使用shell_exec()命令执行wkhtmltopdf.exe 生成pdf文件时,总是无法生成PDF文件,使用var_dump()打印返回值,结果是null。可是检查代码并没有什么问题啊?执行程序的目录是 D:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe …

通过wkhtmltopdf导出支持CSS样式的pdf文件

在公司项目中发现有下载pdf文件的功能,但是不能识别CSS样式,导致下载的pdf文件格式显得很别扭,虽然能看但是难看。然后就是百度啊,google啊,最后找到一款能够识别CSS样式的软件—wkhtmltopdf。wkhtmltopdf可以直接把任…

【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理

冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越…

windows定时任务

在windows系统中创建定时任务,与在linux中创建定时任务是不同的。因为平时会用到windows的定时任务,所以在这里做个记录,同事给小伙伴们一个参考。 一、windows定时任务的工作流程 1、首先创建一个批处理脚本,就是扩展名为bat的…

jQuery实现checkbox的全选反选方法

checkbox的全选、取消全选、选中所有奇数、选中所有偶数等方法的实现代码如下&#xff1a; 注意jQuery的版本&#xff1a;jQuery1.6增加了prop&#xff0c;1.6之前的还是使用attr()和removeAttr() <!DOCTYPE html> <html lang"en"> <head> <ti…

爬虫前期知识的储备(二)

通用爬虫与聚焦爬虫&#xff1a; 通用爬虫&#xff1a;搜索引擎用的爬虫系统1&#xff09;目标&#xff1a;把互联网的网页下载下来&#xff0c;放到本地服务器形成备份&#xff0c;再对这些网页做相关处理&#xff08;提取关键字&#xff0c;去掉广告&#xff09;&#xff0c;…

jQuery教程05-层级选择器

jQuery选择器之层级选择器 文档中的所有的节点之间都是有这样或者那样的关系。我们可以把节点之间的关系可以用传统的家族关系来描述&#xff0c;可以把文档树当作一个家谱&#xff0c;那么节点与节点直接就会存在父子&#xff0c;兄弟&#xff0c;祖孙的关系了。 选择器中的…

WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法

最近在做一个WebSocket项目&#xff0c;后台使用了Stomp协议的WebSocketConfigurer&#xff0c;但是前端在测试的时候&#xff0c;发现一个很奇怪的问题&#xff1a; 本地的测试代码&#xff0c;最初我使用了JavaSockJS实现&#xff1a; Configuration EnableWebSocketMessageB…

jQuery教程06-基本筛选选择器

jQuery选择器之基本筛选选择器 很多时候我们不能直接通过基本选择器与层级选择器找到我们想要的元素&#xff0c;为此jQuery提供了一系列的筛选选择器用来更快捷的找到所需的DOM元素。筛选选择器很多都不是CSS的规范&#xff0c;而是jQuery自己为了开发者的便利延展出来的选择…

jQuery教程07-内容筛选选择器

jQuery选择器之内容筛选选择器 基本筛选选择器针对的都是元素DOM节点&#xff0c;如果我们要通过内容来过滤&#xff0c;jQuery也提供了一组内容筛选选择器&#xff0c;当然其规则也会体现在它所包含的子元素或者文本内容上 内容过滤器描述如下表&#xff1a; 注意事项&…

[bzoj3489]A simple rmq problem_KD-Tree

A simple rmq problem 题目大意&#xff1a;给定一个长度为$n$的序列&#xff0c;给出$m$个询问&#xff1a;在$[l,r]$之间找到一个在这个区间里只出现过一次的最大的数。 注释&#xff1a;$1\le n\le 10^5$&#xff0c;$1\le mle 2\cdot 10^5$。 想法&#xff1a; 我的第一想法…

JSON入门

JSON简介 JSON ( JavaScript Object Notation, JS 对象标记 ) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅…

字符流

字符输入流Reader import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;public class Demo04 {public static void main(String[] args) throws IOException {method1();method2();method3();copy();} FileReader类 //文本文件建议用字符流读取…

Apache服务器下载、安装、启动、关闭及卸载(win版)

今天讲一下64位win7环境下apache服务器的下载、安装及配置的过程。 1、Apache的下载 百度搜索apache&#xff0c;然后单击选择的下载网站&#xff1a; 我选择的是第一个网站&#xff0c;第二个也可以。 进入之后&#xff0c;确定下载的apache版本&#xff0c;这里选择2.4…