全栈Python 编程必备知识,你get了吗?

据说:

2019年, 浙江信息技术高考可以考python了;

2018年, Python 进入了小学生的教材;

2018年, 全国计算机等级考试,可以考python 了;

据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言

……

Python作为一种编程语言,被称为“胶水语言”,更被拥趸们誉为“最美丽”的编程语言,从云端到客户端,再到物联网终端,无所不在,同时还是人工智能优选的编程语言。

因此,从全栈的角度看, Python 是一门必备的语言,因为它是除了驱动和操作系统外,其他都可以做好。

不积跬步无以至千里,不积小流无以成江海。—— 荀子《劝学》

语法

Python使用空格或制表符缩进的方式分隔代码,Python 2 仅有31个保留字,而且没有分号、begin、end等标记。

>>> help("keywords")Here is a list of the Python keywords. Enter any keyword to get more help.and elif if printas else import raiseassert except in returnbreak exec is tryclass finally lambda whilecontinue for not withdef from or yielddel global pass >>>

可以组织成打油诗, 更方便记忆:

Global is class,def not pass。

if eilf else, del as break。

raise in while,import from yield,

try for print,return and assert。

exec except with lambda,

finally or continue……

python中没有提供定义常量的保留字,可以自己定义一个常量类来实现常量的功能。python中有3种表示字符串类型的方式,即单引号、双引号、三引号。单引号和双引号的作用是相同的,python程序员更喜欢用单引号,C/Java程序员则习惯使用双引号表示字符串。三引号中可以输入单引号、双引号或换行等字符。python不支持自增运算符和自减运算符,其他运算符和表达式都是类似的,尤其是分支判断和循环。

Python的文件类型分为3种,即源代码、字节代码和优化代码。这些都可以直接运行,不需要进行预编译或连接。

数据类型

Python中的基本数据类型有布尔类型,整数,浮点数和字符串等。

Python 中的数据结构主要有元组(tuple),列表(list)和字典(dictionary)。元组、列表和字符串都属于序列,是具有索引和切片能力的集合。

元组初始化后不可修改,是写保护的。元组往往代表一行数据,而元组中的元素代表不同的数据项,可以把元组看做不可修改的数组。

tuple_name=(“you”,”me”,”him”,”her”)

列表可转换为元组,是传统意义上的数组,可以实现添加、删除和查找操作,元素的值可以被修改。

list_name=[“you”,”me”,”him”,”her”]

字典是键值对,相对于哈希表。

dict_name={“y”:”you”, “m”:”me”, “hi”:”him”, “he”:”her”}

列表推导(List Comprehensions)是构建列表的快捷方式, 可读性较好且效率更高. 运用列表生成式,可以快速生成list,例如 得到当前目录下的所有目录和文件:

>>> import os>>> [d for d in os.listdir('.')]

也可以通过一个list推导出另一个list,代码简洁,例如 将一个列表中的元素都变成小写:

>>> L = ['Hello', 'World', 'IBM', 'Apple']>>> [s.lower() for s in L]

通过这些基本类型,可以组成更有针对性需求的数据结构,例如字典嵌套形成的树等, 针对更复杂的数据结构, Python 中提供了大量的库。

类与继承

python用class来定义一个类,当所需的数据结构不能用简单类型来表示时,就需要定义类,然后利用定义的类创建对象。当一个对象被创建后,包含了三方面的特性,即对象的句柄、属性和方法。创建对象的方法:

abel = Abel()Abel.do()

类的方法同样分为公有方法和私有方法。私有函数不能被该类之外的函数调用,私有的方法也不能被外部的类或函数调用。python使用函数”staticmethod()“或”@ staticmethod“的方法把普通的函数转换为静态方法,相当于全局函数。python的构造函数名为init,析构函数名为del。继承的使用方法:

class AbelApp(abel):    def …

Python 中的变量名解析遵循LEGB原则,本地作用域(Local),上一层结构中的def或Lambda的本地作用域(Enclosing),全局作用域(Global),内置作用域(Builtin),按顺序查找。

和变量解析不同,Python 会按照特定的顺序遍历继承树,就是方法解析顺序(Method Resolution Order,MRO)。类都有一个名为mro 的属性,值是一个元组,按照方法解析顺序列出各个超类,从当前类一直向上,直到 object 类。

Python 中有一种特殊的类是元类(metaclass)。元类是由“type”衍生而出,所以父类需要传入type,元类的操作都在 new中完成。通过元类创建的类,第一个参数是父类,第二个参数是metaclass。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180205A0LU9N00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券