真香,理解记忆法学习Python基础语法
这篇文章很难写!我最开始学 Python,和大多数人一样,是看的菜鸟教程: 在写完这篇文章的第一遍后,我发现并没有写出新意,很可能读者看到后,会和我当初一样,很快就忘了。我现在已经不是读者而是作者了,我想我可以做出一些改变,降低阅读门槛,加强理解记忆。 版本选择Python 有 2 个不兼容的版本,Python2 和 Python3。Python2 已经逐渐被淘汰,现在只需要学 Python3 即可。 语法是什么先直观感受一下,用不同编程语言在界面上打印出 HelloWorld 字样: C 语言
Python
看到了么,结果一样,但是编程语言的写法不一样,就像中文和英文,同一个意思,却是用不同字符表达出来的。语法就是用来告诉你该怎么表达的一套规则。学 Python 只有懂 Python 语法,才能知道怎么写代码。 从一个例子讲起假设我们要用 Python 实现这样一个功能,键盘输入"大河向东流"后,屏幕上会显示“天上的星星参北斗”。用 Python 实现的代码为:
这个例子涉及到这些名词术语:编码、标识符、语句、缩进、代码块、引号、注释、空行、函数。 编码编码,是指把人类语言编成计算机能懂的二进制(010101 这种)。不同国家的字符是不一样的,用来编码的字符集也就不一样。美国的字符集包括英文字母、标点符号字符、阿拉伯数字,叫做 ASCII。欧洲的字符集,加入了带重音的字符、希腊字母等叫做,Latin-1。中国!加入了汉字!叫做 GB2312。后来加入了生僻字、繁体字及日韩汉字等,叫做 GBK。天下大乱,乱码无法交流,ISO 国际标准化组织决定一统江湖,Unicode 诞生。再优化优化,UTF-8。 默认情况下,Python3 源码文件都是以 UTF-8 编码,字符串都是 unicode 字符串,让全球不同国家无障碍编程。代码中既可以写英文也可以写中文,但是中文只能用来显示和注释,不决定程序运行。 标识符标识符是编程时使用的名字,比如例子中的
以下是非法的:
我们在写代码的时候,经常需要取名字,取名最好具有业务意义。有些名字包含多个英文单词,写在一起不好阅读,名字又不能包含空格,要么首字母大写,要么用下划线来分隔。现有的 Python 代码库中,这两种方式都存在,因为 Python 是由开源社区发展来的,五花八门,百花齐放。为了越来越规范,Google 制定了 PEP8 规范(Python Enhancement Proposal 8),建议大家用下划线来分隔。 下划线除了用来分隔多个单词,在 Python 中还有更多的作用。单个下划线开头 Python 已经把有些名字用了,你不能再用,否则会冲突报错。可以在 cmd 中输入
语句交流不可能是按单词来交流,而是按语句。Python 中一行代码就是一条语句,这是一般规定。也有少数例外,比如可以使用反斜杠(),把一条语句写成多行:
如果在 [],{},或 () 中,不用反斜杠()也可以写成多行:
反之亦然,Python 中多条语句也是能写成一行的(不推荐):
缩进有些话不是一句就能说完的,比如我现在说的这句,哈哈。为了代码有层次,阅读更方便,编程语言会使用缩进来断句。Python 的缩进有点异类,不是用花括号
报错:
如果用 PyCharm,那么就完全不用担心这个问题了,因为它有智能提示,在编写的时候就能纠正过来。我已经完全适应了敲空格,为什么空格键设计的那么大?就是用来敲的! 代码块“多条缩进相同的语句就叫做代码块”,这是教程给的定义,我们平时说的代码块,更多指的是相关联的多行代码。比如,如果 xxx,那么 xxx,否则 xxx:
引号引号常用来框住字符串,Python 同时支持单引号、双引号、三引号,只要保证引号的开始和结束一致就行:
单行用单引号或双引号,多行用三引号。我一般会优先用双引号,看着规范(毫无依据,哈哈哈)。 注释Python 的单行注释用 #:
Python 的多行注释用三个单引号或三个双引号:
空行空行也是 Python 代码的一部分,既能分隔不同业务代码,也能提高阅读体验。不过不需要刻意记哪些地方需要多少空行,在 PyCharm 中 CTRL + ALT + SHIFT + L 组合键可以快速格式化为符合 PEP8 规范的代码,标准化的空行一目了然: 函数例子中 import 与 from...import模块与模块之间是分离的,除了 Python 已经为我们提供的基础语法,如果想用其他模块的代码,就需要使用 将整个模块( somemodule )导入,格式为: 从某个模块中导入某个函数,格式为: 从某个模块中导入多个函数,格式为: 将某个模块中的全部函数导入,格式为: 动态语言Python 是动态语言,不需要指定数据类型。比如:
强类型语言Python 是强类型语言,经常会有人搞错。比如:
是会报错的:
不是相同的类型不能直接相加。 JavaScript 才是弱类型语言,不同数据类型可以直接相加。 小结本文虽然参考了菜鸟教程,但是重新组织了写作手法。先介绍了版本选择和语法的概念,接着从一个例子讲起,把相关的概念挨个讲解了一遍,然后简单提到了模块和包,引出了 import 的原因,最后说明了 Python 是动态、强类型语言。 参考资料: https://www.runoob.com/python3/python3-basic-syntax.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |