python核心技术

基本语法python

Python的设计目标之一是让代码具有高度的可阅读性。它设计时尽可能使用其它语言常用的标点符号和英文单字,让代码看起来整洁美观。它不像其余的静态语言如C、Pascal那样须要重复书写声明语句,也不像它们的语法那样常常有特殊状况和意外。程序员

缩进正则表达式

Python开发者有意让违反了缩进规则的程序不能经过编译,以此来强制程序员养成良好的编程习惯。而且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增长缩进表示语句块的开始,而减小缩进则表示语句块的退出。缩进成为了语法的一部分。例如if语句:python3编程

if age<21:
    print("你不能买酒。")
    print("不过你能买口香糖。")
print("这句话在if语句块的外面。")
根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中能够自定义空格数,可是要知足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然均可以编译经过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。dom

控制语句ide

if语句,当条件成立时运行语句块。常常与else, elif(至关于else if) 配合使用。
for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每一个元素。
while语句,当条件为真时,循环运行语句块。
try语句,与except,finally配合使用处理在程序运行中出现的异常状况。
class语句,用于定义类型。函数

def语句,用于定义函数和类型的方法。
pass语句,表示此行为空,不运行任何操做。
assert语句,用于程序调试阶段时测试运行条件是否知足。
with语句,Python2.6之后定义的语法,在一个场景中运行语句块。好比,运行语句块前加密,而后在语句块运行退出后解密。
yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本之后。这个语句变成一个运算符。测试

raise语句,制造一个错误。
import语句,导入一个模块或包。
from import语句,从包导入模块或从模块导入某个对象。
import as语句,将导入的对象赋值给一个变量。
in语句,判断一个对象是否在一个字符串/列表/元组里。编码

表达式加密

Python的表达式写法与C/C++相似。只是在某些写法有所差异。
主要的算术运算符与C/C++相似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。
Python使用and, or, not表示逻辑运算。
is, is not用于比较两个变量是不是同一个对象。in, not in用于判断一个对象是否属于另一个对象。

Python支持“列表推导式”(list comprehension),好比计算0-9的平方和:>>> sum(x * x for x in range(10))285Python使用lambda表示匿名函数。匿名函数体只能是表达式。好比:>>> add=lambda x, y : x + y>>> add(3,2)5Python使用y if cond else x表示条件表达式。意思是当cond为真时,表达式的值为y,不然表达式的值为x。至关于C++和Java里的cond?y:x。Python区分列表(list)和元组(tuple)两种类型。list的写法是[1,2,3],而tuple的写法是(1,2,3)。能够改变list中的元素,而不能改变tuple。在某些状况下,tuple的括号能够省略。tuple对于赋值语句有特殊的处理。所以,能够同时赋值给多个变量,好比:>>> x, y=1,2#同时给x,y赋值,最终结果:x=1, y=2特别地,可使用如下这种形式来交换两个变量的值:>>> x, y=y, x #最终结果:y=1, x=2Python使用'(单引号)和"(双引号)来表示字符串。与Perl、Unix Shell语言或者Ruby、Groovy等语言不同,两种符号做用相同。通常地,若是字符串中出现了双引号,就使用单引号来表示字符串;反之则使用双引号。若是都没有出现,就依我的喜爱选择。出如今字符串中的\(反斜杠)被解释为特殊字符,好比\n表示换行符。表达式前加r指示Python不解释字符串中出现的\。这种写法一般用于编写正则表达式或者Windows文件路径。Python支持列表切割(list slices),能够取得完整列表的一部分。支持切割操做的类型有str, bytes, list, tuple等。它的语法是...[left:right]或者...[left:right:stride]。假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回全部元素。改变新的列表不会影响到nums。nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素但不包含下标为5的元素,且步长为2。函数Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了加强代码的可读性,能够在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的做用、参数的类型与意义、返回值类型与取值范围等。可使用内置函数help()打印出函数的使用帮助。好比:>>> def randint(a, b):... "Return random integer in range [a, b], including both end points."...>>> help(randint)Help on function randint in module __main__:randint(a, b)Return random integer inrange[a, b], including both end points.

相关文章
相关标签/搜索