基础概念
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键)
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 \\ a good boy.")
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
看上去是不是很高大上,那么我们怎么去理解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标识符里不能有-(横杠)
3.9 常量
常量是一旦赋值后就不能再修改其值的特殊变量,比如我们定义个“变量”PI,它的意义是圆周率π,众所周知圆周率是不变的值是:3.141592653579…。Python里没有像其他语言有const关键字,但是我们可以通过其它方式实现常量的效果.具体见后续章节的演示。
圆的面积=π乘以半径的平方
3.10 缩进
缩进在python里其实是一种书写规范或者说格式,它一般是通过空格和制表符决定代码行的层次结构。通常我们选单个制表符、两个空格、四个空格中一个作为缩进的风格,但这3种风格不能混用。初学python时我们经常遇到这样的错误:
>>> i=5
>>> print(i)
File "<stdin>", line 1
print(i)
^
IndentationError:unexpected indent
这是因为你在print前加了个空格,但此时并不需要使用缩进。一般我们在类定义、函数定义、流程控制语句(if/for)之类语句后加缩进。通俗点理解缩进可像我们写本书的目录结构,这里通过tab来分割每个章节,读者会很容易的检索自己想看的内容。同样程序中我们加入缩进,那么解释器会知道哪些是一个层次的,哪些是另外个层次的。
3.11 注释
注释是不被执行的代码块,注释就像一个烂笔头,它标注了代码块、类定义、函数定义等编写的意义,主要起到备忘的功能。一般我们使用单行注释和行注释。
a) 使用井号(#) 注释单行
#这是个单行注释示例。
print('Hello World')
b) 使用成对的"""或则'''即三引号注释多行
'''
这是个多行注释示例。
@author: shenliang5
'''
print("多行注释写法一")
"""
这是个多行注释示例。
@author: shenliang5
"""
print("多行注释写法二")
挥挥洒洒写出你的寂寞。
3.12 文件编码
Python3支持的python文件编码是UTF-8。所以当我们在windows里新建个文件test1.txt输入以下内容。
string1="中国"
print(string1)
再将test1.txt重命名为test1.py,当我们执行该文件时会有下面的报错:
这是因为Python3是通过UTF-8对文件解码而我们建立的文件test.py在windows上默认是ASCII 。所以正确的做法是将python代码文件以utf-8的方式保存,具体操作见下图:
3.13 总结
本章我们学习了python的编程基础,了解了字符串的定义和使用、标识符的命名、代码缩进、注释等知识,是不是觉得也没想象中的那么难?那么跟我们一起进入下一个环节吧。