首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门(4)

第四节 常量和变量

大家好,今天开始正式学习Python语法。最基础的东西无外乎:常量和变量、数据类型和数据结构、流程控制语句等。了解它们并不难,它们就像构成一座大厦的砖瓦沙石,看起来没有任何深奥的东西,但是,我们必需了解它们,因为,未来在我们搭建一个项目的时候,至少你得知道当我们需要用到砖瓦的时候,你不会错拿了砂石填进去。所以,即便是一些简单到无趣的东西,我们也需要大致的去了解它们分别是什么?有什么特点?如何使用?

这节课,我们先来了解常量和变量。

一、常量

主要包括:数字、字符串。

常量,又被称为字面常量。例如:3、2.16 这样的数字,或者,例如:“This is a dog”这样的文本。所谓字面常量,意思是我们阅读、理解和使用的都是它们字面上的或者说是它本身直观的含义。

1、数字

数字主要分为两种类型:整数(Integers)与浮点数(Floats)。

(1)、整数(int):与我们中学数学定义的整数含义一致。比如:1、23、1999

(2)、浮点数(float ):简单说就是包含小数点的数字,即所有的小数。如:3.14

这个我们可以简单的理解为整数和小数,难度系数:小学算术级。

2、字符串(string)

概念:字符串就是 字符(Characters) 的 序列(Sequence)。

通常字符串是放置在引号中间的。引号可以是:单引号、双引号,和三引号。三引号还可以标识多行文本的字符串。例如:

str1 = 'redhat'

str2 = "redhat"

str3 = """red

hat"""

需要特别注意的:

(1)、大小写敏感!例如:“abc”与“Abc”是不相同的。

(2)、需要在字符串中使用特殊字符时,python用反斜杠(\)转义字符。

有同学可能会注意到,它与其他计算机语言对字符串的描述似乎不完全相同。但是,我们在写Python代码时,随时都会使用到字符串,所以,请特别关注,字符串是个重点。

不可变:

字符串一旦被定义,你就不能改变它,因为它就是一个常量。如果你实在要修改一个字符串的“值”,你可以把它定义给另一个字符串。

格式化:

Python 支持格式化字符串的输出 。基本的用法,就是使用format()方法将一个值插入到字符串对应的占位符{ }中。例如:

>>> print('{0} was {1} years old when he wrote this book'.format(“zhangsan”, 20))

>>> zhangsan was 20 years old when he wrote this book

二、变量

  • 编程是为了处理信息或数据,所以,仅有常量是不够的,我们显然还需要一些能够存储信息、又能操纵它们的东西,这就是变量(Variables) 。
  • 正如其名,变量的值是可变的。事实上,你可以用变量来存储任何东西。
  • 变量的物理存在形式:它是你的计算机内存中存储信息的一部分。
  • 与常量不同,为了方便访问变量,因此,需要为它们命名。

准确描述变量要比常量复杂一些,为此,我们需要先理解以下几个概念 ...

概念1:标识符

标识符,是大多数计算机语言都有的概念,它通常是针对操作对象命名的一种描述。我们很快会接触到更多的python操作对象,如:类、方法、列表、字典等等。同样,变量也是标识符的一个例子。简单的说,标识符(Identifiers)就 是一个操作对象的名称。我们为变量命名,就是定义一个标示符。

标识符之命名规则

  • 第一个字符必须是字母或下划线( _ )。
  • 标识符的其它部分可以由字符、下划线( _ )、数字(0-9)组成。
  • 标识符名称区分大小写。例如, myname 和 myName 是不相同的。
  • 请注意类似如下的都是无效的标识符名称:2dogs , this is a pig, my-name 和 >a1b2_c3 。
  • 以上所说的字母或字符包括:大写 ASCII 字符或小写 ASCII 字符或 Unicode 字符。

标识符之命名的规范

  • 有含义地命名。如:name_1,而不是:n1
  • 原则上遵守驼峰命名法:构成名称的每个单词的首字母大写。
  • 类名:严格遵守驼峰命名法,首字母一律大写。如:MyName。
  • 方法名:第一个首字母小写,其他大写。例如, myName 。
  • 变量名:全部小写。如:myname 。

上述的命名规范并不强制,但它们是个值得养成的好习惯。

概念2:对象

Python语言认为,一切皆对象。它将程序中的任何内容统称为 对象(Object)。这是一般意义上的说法。

我们在讨论python编程的时候,要习惯说“某某对象(object)”,而不是“某某东西(something)”。

我们前面已经提到,python是面向对象的编程语言,这里再强调:Python 是强面向对象的,这里的“强”,一方面是指一切皆对象, 包括数字、字符串与函数;一方面也是指强类型,后面我们马上会看到对象的强类型对变量的影响力。

概念3:数据类型

变量可以将各种形式的值保存为不同的数据类型(Data Type)。基本的类型就是我们刚刚讨论过的数字(整数和浮点数)与字符串。当然,还有很多类型,这对于有过其他语言经验的同学,并不陌生。在后面的课时,我们都会逐一涉及到。甚至,我们会了解如何通过(Class) 类,创建我们自定义的类型。

PS:有其他语言经验的同学,可以关注一下这个讨论:

变量究竟有没有类型?网上很多说python是弱类型的语言,主要是因为python在定义一个变量时无需声明变量的类型。也有人用类型是否可以隐式转换来衡量是否是弱类型,但其实,对于python来说,这些都不准确。事实上,因为python是强对象类型的,python的任何对象都必须明确申明类型,而变量只是对对象的一个引用。在内存中,每一个对象都包含了两个头部信息,一个是类型标示符,标识这个对象的类型;一个是引用计数器,用来标识该对象被多少变量引用,如果没有变量引用,将被回收。所以,变量本身没有类型,只有对象才有类型,但是一旦对象被变量引用成功,它便有了类型。所以,变量是动态类型。这就是为什么在python中,定义变量无需声明类型的原因。

变量的定义

到此,我们终于可以讨论变量的定义了。

定义变量:在声明一个变量标示符的同时,为该变量赋一个确定的值。

变量的定义过程实际上实现了四件事:

1、声明了一个标识符;

2、引用了一个对象;

3、为该变量赋了一个值;

4、明确了该变量的当前值的类型。

例如:x = 5

这个式子定义了一个变量,它看起来极其简单,但它明确地做了以下4件事:

(1)、它声明了一个标识符 x;

(2)、引用了一个对象:即字面常量(数字)5;

(3)、为该变量 x 赋了一个值,让 它等于5。注意:这里“=”号是赋值符号;

(4)、明确了变量 x 的当前值的类型是整数类型。

小结

这一节,我们介绍了Python语言的两个最基本的语法概念:常量和变量。

1、常量(数字、字符串)是不可变的。

2、变量可以是任何类型,这依赖于它引用了什么样的对象,因此,它是动态类型。

3、了解了标识符及其命名规范。

下一篇
举报
领券