大家好,今天开始正式学习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
二、变量
准确描述变量要比常量复杂一些,为此,我们需要先理解以下几个概念 ...
概念1:标识符
标识符,是大多数计算机语言都有的概念,它通常是针对操作对象命名的一种描述。我们很快会接触到更多的python操作对象,如:类、方法、列表、字典等等。同样,变量也是标识符的一个例子。简单的说,标识符(Identifiers)就 是一个操作对象的名称。我们为变量命名,就是定义一个标示符。
标识符之命名规则
标识符之命名的规范
上述的命名规范并不强制,但它们是个值得养成的好习惯。
概念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、了解了标识符及其命名规范。