我们说学习一门编程语言,第一步是先学最基础的语法,对吗?不对,第一步是先编写一个输出“Hello,World!”的程序。那么我们开始吧,所有这个系列里的文章都会以Python 3为例,因为Python 2很快就会被历史的车轮碾压。
第一个Python程序
几乎每个新手程序员都被告知运行过输出这行文字的程序,就算入门了,好似木匠拜鲁班一样,这是一行有仪式感的代码。
print("Hello, World!")
缩进
Python里的缩进非常的重要,由于Python并不像其他语言,有block的标识符,比如C使用“{”和“}”。关于缩进这个问题,无论是哪一种语言都引起了无数的争论,就像讨论豆腐花该是甜的还是咸的,当然我坚定不移的认为豆腐花应该是甜的。Python对于缩进可以是任意个数的空格或者Tab,但是Python 3里是不允许混用的。并且Python会以它看到的第一个缩进作为标准,也就是说,如果你用了5个空格,那么你一直得用5个空格的倍数作为缩进,比如你if嵌套了一层,那么第二个if的内容就得10个缩进,依此类推。
PEP-8推荐使用4个空格进行缩进,我们不用管它,C语言也有各种风格,比如匈牙利风格。我的缩进方式就是一个Tab,然后我习惯在编辑器里将Tab设置为4个空格。敲一下键盘和敲四下键盘,哪个更方便?
最后强调一下,缩进用Tab,最小缩进一个Tab!
if Ture:
print("Hello, Tab!")
标识符
Python的标识符用来表示一个变量、函数、类或者模块等等。标识符仅能由大小写字母、数字和下划线组成,不能以数字开头,并且区分大小写字母。也就是说deep_learning和Deep_learning是两个不同的变量。一般来说,类的命名我们以大写字母开头,其他的标识符我们使用小写。
至于命名的一些习惯,我的习惯是命名尽量做到见名识意并且简洁,变量使用单词首字母大写,而函数或者方法则使用下划线分隔单词。比如:变量定义sliceSteps,函数和方法定义为slice_lists。
关键字
关键字是Python的保留词,这些保留词表示你在定义变量或者类的时候不能使用这些词,这些词是全小写的,说白了就是供你写Python程序的一些关键词。Python的关键字见下表:
语句和表达式
很多同学可能不知道语句和表达式有什么差别?看英文文档的时候会看到statements和expressions,但不了解差别在哪里?其实很简单,statements不能被打印,而expressions是可以的。比如:
Statements:
if CONDITION:
elif CONDITION:
else:
for VARIABLE in SEQUENCE:
while CONDITION:
try:
except EXCEPTION as e:
class MYCLASS:
def MYFUNCTION():
return SOMETHING
raise SOMETHING
with SOMETHING:
Expressions:
2 + 5
1 + 2 + 3 * (6** 3) - sqrt(7.0)
min(1, 15)
max(3, 9)
round(1.5)
"python"
"expression"
"python" + "expression"
None
True
语句和表达式构成了我们的Python程序,同学们可能要问了,表达式怎么没有左边?主要目的是为了方便我们解释语句与表达式的差别,很多Python书里并不会讲这些,其实还是蛮有利于我们去理解的。并且中文的文档在翻译的时候并没有额外的去翻译statement,无论是statement还是expression统称语句,可能expression会翻译为表达式。
大家可以这样理解statements包含statements和expressions,但我们相对expressions来说statements的时候,它在特定的语境特指我们所解释的statements!
Python语句的多行写法
firstVarible = 1 +
2 +
3
包含在()、[]、{}中的定义本身可以分行。例如:
secondVarible = [1, 2, 3,
4, 5, 6]
分行的目的主要是当我们的单行过长的时候可以分行增加可读性,或者在函数变量过多的时候,分行增加代码的赏心悦目程度。
Python中的引号
事实上在Python 3中,单引号和双引号已经没有任何差别了!你可以用单引号来定义字符串,也可以用双引号。比如:
firstVarible = "first"
secondVarible = 'second'
我更倾向于用单引号,因为不用按住Shift。三个引号可以用来定义多行注释,也可以用来定义多行的字符串。比如:
"""This is a great comment!"""
'''This is a great comment too!'''
'''
This is a great comment!
This is a great comment!
'''
firstVarible = """This
is
a
great
comment"""
secondVarible = '''This
is
a
great
comment'''
注释
注释除了我们前面使用引号进行单行或者多行注释的方法,还可以使用”#“来进行注释。比如:
#This is an amazing comment
a = 3 #This is an amazing comment too
单行多语句
我们经常看到很多人喜欢把代码写的很乱,比如著名的混乱C程序大赛,我也曾经参加过这个无聊的比赛,无非是用一些奇怪的宏定义和宏展开以及逗号来写一些让人无法看懂的代码!Python也可以使用”;“来进行单行的装高深。比如:
a = 2; b = 3;c = 4
当然,一般我们不建议这样来写,会极大的降低代码的可读性。
代码块
在C语言以及其他一些语言中用{}来表示代码块,而Python中是没有的,并且Python中也不叫做block,叫做suite。比如:
if True:
这里的一行或者多行代码叫做suite
基本上这就是Python的基础语法了,语法的部分讲完了,后面基本上都是实操的部分和一些的技巧。Python里面还有一些隐含变量和用法,我们后面也会专门来有一篇文章来讲到。
人工智能与深度学习做量化请关注:AI量化(https://t.zsxq.com/RvfY37y) 星球限时免费,如需加入,请私信我获得免费邀请码!
零基础学习Python与深度学习应用请关注星球:Python与深度学习 https://t.zsxq.com/bUFayZ3
微信公众号:QTechAI
网友评论