基础概念


3

3.1 数字

计算机最初设计时就是为了做数据运算的,所以针对这个概念应该不会陌生。在Python的世界里数主要有三种类型: 整数、浮点数和复数,详见下例:

a) 5 是一个整数。

b) 3.23 和76.2E-4 是浮点数的例子。E 标记表示10 的幂。在这里,76.2E-4 表

示的是76.2* 10-4。

c) (-6+4j)和(6.8-8.1j) 是复数。

3.2 字符串

在前面的环境安装章节我们介绍了如何打印出hello world,好奇的你可能会问为什么要加个""呢,它是什么类型呢?计算机是对现实生活的抽象,字符串是有一定含义字符的组合,一般是通过双引号或者单引号包裹起来。因为计算机语言多数是国外开发,所以这里演示的是hello world两个英文单词,当然你可以 print('中国')显示“中国”这两个汉字。

>>> print("中国")

中国

3.3 单引号

你可以用单引号指定字符串,如'Quote me on this'。所有的空白,即空格和制表符都照原样保留。比如我们在单引号里输入个tab(即按下键盘上的Tab键)

Python基础概念_2_基础概念_python

3.4 双引号

双引号的使用同单引号,这里主要讲两者如何结合使用和不同之处:如果有这样一个需求,要求打印I'm a good boy.你们用上节的''怎么做到呢?显然直接像下面这样是不行的。

>>> print('I'm agood boy.')

  File "<stdin>", line 1

    print('I'm a good boy.')

             ^

SyntaxError:invalid syntax

 

怎么做呢?这里我们可以使用双引号:

>>> print("I\'m a goodboy.")

I'm a good boy.

3.5 转义符号

还记得之前提的如何打印I'm a good boy的问题吗?我们是通过双引号解决了,那么有没有其它方法呢?当然,我们可以通过'\'这个转移符解决.

>>> print('I\'m a good boy.')

I'm a goodboy.

当然我们也可以使用\n(换行)、\t(tab分隔)这些有一定意义的转义符。

>>>print('I\'m\n a good boy.\n'+"I'm a \t good boy")

I'm

 a good boy.

I'm a    good boy

如果字符串里有'\'这个符号怎么处理呢?这时只需要再加个'\'即可,见下:

>>> print("I'm \\

I'm \ agood boy.

3.6 三引号

利三引号("""or '''),你可以指示一个多行的字符串。你可以在三引号中自由

的使用''(单引号)和""(双引号)。例如:

>>> print('''这是个多行的字符串。这是第一行。\n这是第二行。\n"What's your name? ," I

asked.\nHe said "Bond,James Bond."''')


这是个多行的字符串。这是第一行。

这是第二行。

"What'syour name? ," Iasked.

He said"Bond, James Bond."

3.7 变量

Hello word的升级版

>>>str='hello world'

>>>print(str)

hello world



Python基础概念_2_基础概念_标识符_02


看上去是不是很高大上,那么我们怎么去理解str=“hello world”呢?这里就像别人给你起个英文名字john,当别人叫john时叫的其实还是你。而这里只是抽象成字符串类型str,当我们去访问str变量时就得到了它的值hello world。

3.8 标识符

前面说的变量就是标识符的例子。标识符简言之就是为了标识某个东西而起的名字。一般我们在起这个标识名时需要遵循如下规则:

a)  标识符的第一个字符必须是字母(可大写或小写)或者是下划线。

b)  标识符的其他部分可由字母(大写或小写)、下划线('_')、数字(0-9)构成。

c)  标识符是大小写敏感的。如:myname 和myName 不是一个标识符。

d)  标识符命名一般要见名知意,有一定的含义。

e)  标识符一般是变量名称、方法名、类名等

合法命名演示:

i 、__my_name 、Name_2和a1b2_c3

非法命名演示:

2s 、this is和my-name


错误原因:2s不能以数字开头,命名时首字符必须是字母。

this is里有空格

my-name标识符里不能有-(横杠)



Python基础概念_2_基础概念_正则表达式_03



3.9 常量

常量是一旦赋值后就不能再修改其值的特殊变量,比如我们定义个“变量”PI,它的意义是圆周率π,众所周知圆周率是不变的值是:3.141592653579…。Python里没有像其他语言有const关键字,但是我们可以通过其它方式实现常量的效果.具体见后续章节的演示。



Python基础概念_2_基础概念_缩进_04

圆的面积=π乘以半径的平方




3.10 缩进

缩进在python里其实是一种书写规范或者说格式,它一般是通过空格和制表符决定代码行的层次结构。通常我们选单个制表符、两个空格、四个空格中一个作为缩进的风格,但这3种风格不能混用。初学python时我们经常遇到这样的错误:

>>> i=5

>>>  print(i)

 File "<stdin>", line 1

   print(i)

    ^

IndentationError:unexpected indent

 

这是因为你在print前加了个空格,但此时并不需要使用缩进。一般我们在类定义、函数定义、流程控制语句(if/for)之类语句后加缩进。通俗点理解缩进可像我们写本书的目录结构,这里通过tab来分割每个章节,读者会很容易的检索自己想看的内容。同样程序中我们加入缩进,那么解释器会知道哪些是一个层次的,哪些是另外个层次的。

Python基础概念_2_基础概念_缩进_05

3.11 注释

注释是不被执行的代码块,注释就像一个烂笔头,它标注了代码块、类定义、函数定义等编写的意义,主要起到备忘的功能。一般我们使用单行注释和行注释。

a)  使用井号(#) 注释单行

#这是个单行注释示例。

print('Hello World')


b) 使用成对的"""或则'''即三引号注释多行

'''

这是个多行注释示例。

@author: shenliang5

'''

print("多行注释写法一")

"""

这是个多行注释示例。

@author: shenliang5

"""

print("多行注释写法二")

Python基础概念_2_基础概念_正则表达式_06

挥挥洒洒写出你的寂寞。

3.12 文件编码

Python3支持的python文件编码是UTF-8。所以当我们在windows里新建个文件test1.txt输入以下内容。

string1="中国"

print(string1)

再将test1.txt重命名为test1.py,当我们执行该文件时会有下面的报错:

Python基础概念_2_基础概念_缩进_07

这是因为Python3是通过UTF-8对文件解码而我们建立的文件test.py在windows上默认是ASCII 。所以正确的做法是将python代码文件以utf-8的方式保存,具体操作见下图:

Python基础概念_2_基础概念_字符串_08

3.13 总结

本章我们学习了python的编程基础,了解了字符串的定义和使用、标识符的命名、代码缩进、注释等知识,是不是觉得也没想象中的那么难?那么跟我们一起进入下一个环节吧。