目录

  • 1 运算符与数据类型
  • 1.1 运算符和表达式
  • 1.1.1 算数运算符
  • 1.1.2 比较运算符
  • 1.1.3 赋值运算符
  • 1.1.4 位移运算符
  • 1.1.5 逻辑运算符
  • 1.1.6 身份运算符
  • 1.1.7 成员运算符
  • 1.1.8 运算优先运算符
  • 1.2 数据类型
  • 1.2.1 字符串
  • 1.2.2 布尔类型
  • 1.2.3 整数
  • 1.2.4 浮点数
  • 1.2.5 复数
  • 1.2.6 集合
  • 1.2.7 列表
  • 1.2.8 元组
  • 1.2.9 字典
  • 2 变量和转义字符
  • 2.1 变量
  • 2.2 转义字符
  • 3 函数
  • 3.1 函数调用表达式
  • 3.2 Python内置函数
  • 3.3 自定义函数
  • 3.4 模块
  • 4 语句
  • 4.1 条件语句
  • 4.2 循环语句
  • 4.3 循环控制语句
  • 5 类和对象


1 运算符与数据类型

1.1 运算符和表达式

1.1.1 算数运算符

运算符

描述

示例

+

加,两个数相加

3+5=8

-

减,得到负数或是一个数减去另一个数

5-3=2

*

乘,两个数相乘或是返回一个被重复若干次的字符串

2*3=6

/

除,x除以y

4/2=2

%

取模,返回除法的余数

5%3=2

**

求幂,返回x的y次幂

2**3=8

//

取整除,返回商的整数部分(向下取整)

21//10=2

1.1.2 比较运算符

运算符

描述

示例

==

等于,比较对象是否相等

(2==3)返回false

!=

不等于,比较两个对象是否不相等

(2!=3)返回true

>

大于,返回x是否大于y

(2>3)返回false

<

大于,返回x是否小于y

(2<3)返回true

>=

大于等于,返回x是否大于等于y

(2>=3)返回false

<=

小于等于,返回x是否小于等于y

(2<=3)返回true

1.1.3 赋值运算符

运算符

描述

示例

=

简单的赋值运算符

c=a+b将a+b的运算结果赋值为c

+=

加法赋值运算符

c+=a等效于c=c+a

-=

减法赋值运算符

c-=a等效于c=c-a

*=

乘法赋值运算符

c*=a等效于c=c*a

/=

除法赋值运算符

c/=a等效于c=c/a

%=

取模赋值运算符

c%=a等效于c=c%a

**=

幂赋值运算符

c**=a等效于c=c**a

//=

取整除赋值运算符

c//=a等效于c=c//a

1.1.4 位移运算符

a = 0011 1100
b = 0000 1101

运算符

描述

示例

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a&b)输出结果12,二进制解释:00001100

|

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

(a|b)输出结果61,二进制解释:00111101

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a^b)输出结果49,二进制解释:00110001

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

(~a)输出结果-61,二进制解释:11000011,在一个有符号二进制数的补码形式

<<

左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0

a<<2输出结果240,二进制解释:11110000

>>

右移动运算符:运算数的各二进位全部右移若干位,由>>左边的数字指定了移动的位数,地位丢弃,高位补0

a>>2输出结果15,二进制解释:00001111

1.1.5 逻辑运算符

x = 10
y = 20

运算符

描述

示例

and

x and y布尔"与",如果x为False,x and y返回False,否则它返回y的计算值

(x and y)返回20

or

x or y布尔"或",如果x是非0,它返回x的值,否则它返回y的计算值

(x or y)返回10

not

not x布尔"非",如果x为True,返回False如果x为False,它返回True

not(x and y)返回False

1.1.6 身份运算符

运算符

描述

示例

is

is是判断两个标识符是不是引用自一个对象

x is y,类似id(x) == id(y),如果引用的是同一个对象则返回True,否则返回False

is not

is not是判断两个标识符是不是引用自不同对象

x is not y,类似id(a )!= id(b)。如果引用的不是同一个对象则返回结果True,否则返回False

1.1.7 成员运算符

运算符

描述

示例

in

如果在指定的序列中找到值返回True,否则返回False

x在y序列中,如果x在y序列中返回True

not in

如果在指定的序列中没有找到值返回True,否则返回False

x不在y序列中,如果x不在y序列中返回True

1.1.8 运算优先运算符

运算符

描述

**

指数(最高优先级)

~ + -

按位翻转,一元加号和减号(最后两个的方法名为+@和-@)

* / % //

乘,除,取模和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位’AND’

^ |

位运算符

<= < > >=

比较运算符

== !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符

1.2 数据类型

1.2.1 字符串

a、使用单引号(’)
用单引号括起来表示字符串

str = 'this is string'

b、使用双引号(")
双引号中的字符串与单引号中的字符串用法完全相同

str = "this is string"

c、使用三引号(’’’)
利用三引号,表示多行的字符串,也可以在三引号中自由的使用单引号和双引号

str = '''this is string
this is "python string"
this is 'string' '''
1.2.2 布尔类型

True 真 False假

bool = False
bool = True
1.2.3 整数

包括正整形、0、负整数。
也包括二进制整形、八进制整形、十六进制整形。

int = 20
int = 0b011
int = 0o11
int = 0xFF
1.2.4 浮点数

有两种表现形式:
方式一:

float = 2.3

方式二(科学计数法):

float = 4.13e-3
1.2.5 复数

有两种表现形式:
方式一:
复数:实数 + 虚数 两部分构成的

plural = 5 + 6j

方式二:
complex(实数,虚数) 注意:这种表达方式虚数不能加j

plural = complex(14,2)
1.2.6 集合

集合是唯一、无序、不可改变的。

setvar  =  {}     #数据类型显示是一个dict字典
setvar  =  set()   #强制转换成一个空集合的数据类型
1.2.7 列表

列表是有序、可变、可直接修改的。

x = []
x = list()
1.2.8 元组

元祖是有序、不可改变、不可添加也不可删除的。

x = ()
x = tuple()

注意:创建一个对象的元组(逗号不能少):

x = (1,)
1.2.9 字典

字典是无序、长度不可变、可添加也可删除的。

x = {}
x = dict()

2 变量和转义字符

2.1 变量

变量是内存中命名的储存位置,其值可以动态变化。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。

为了区分Python语句中不同的变量,需要对每个变量进行命名,该名称即为标识符。

标识符命名规范:

  • 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
  • 标识符不能和 Python 中的保留字相同。
  • Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
  • 标识符区分大小写,Num和num是不同的。
  • Python 语言中,以下划线开头的标识符有特殊含义,例如:
“_”单下划线代表不能直接访问的类属性。
“__”双下划线代表私有方法,表示类的私有成员。
以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。

2.2 转义字符

需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。常用的如下表:

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\’

单引号

\"

双引号

\n

换行

\r

回车

\f

换页

3 函数

3.1 函数调用表达式

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

def functionName(parm):
   "打印任何传入的字符串"
   return parm
# 调用函数
functionName("我要调用用户自定义函数!")

3.2 Python内置函数

如abs() ,divmod() ,input() ,open() ,staticmethod(),all() ,enumerate() ,int() ,ord() ,str(),any() ,eval() ,isinstance() ,pow() ,sum()等系统自带的函数。
详情查看官方文档或者菜鸟教程等。

3.3 自定义函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

3.4 模块

Python模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块是Python中一个非常重要的概念,他是最高级别的组织单元,他能将程序代码和函数封装以便重用。在使用过程中,用户可以调用Python标准库中的模块,也能下载和使用第三方模块。

def print_func( par ):
   print "Hello : ", par
   return

模块的引入

模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

import 模块名

比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用:

模块名.函数名

from…import 语句

如果模块下有多个函数时,使用Python的 from 语句让你从模块中导入一个指定的函数到当前命名空间中。例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:

from fib import fibonacci

这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。

from…import * 语句

此语句提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

例如我们想一次性引入 math 模块中所有的东西,语句如下:

from math import *

4 语句

4.1 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else:
    执行语句……

4.2 循环语句

1、while循环:
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):
    执行语句(statements)……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。

2、for循环:
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。其基本形式为:

for iterating_var in sequence:
   statements(s)

3、嵌套循环:
Python 语言允许在一个循环体里面嵌入另一个循环。
Python for 循环嵌套语法:

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

Python while 循环嵌套语法:

while expression:
   while expression:
      statement(s)
   statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

4.3 循环控制语句

1、break语句:
break语句用于提前终止当前循环。放弃循环后,直接执行循环块下一个语句。

break语句可以在while和for循环中使用。

如果使用嵌套循环,则break语句将停止执行最内层循环,并在块之后开始执行代码的下一行。

Python语言 break 语句语法:

break

2、continue语句:
continue语句将控制返回到当前循环的开头。当遇到continue语句时,循环将不执行当前迭代中剩余的语句,而直接下一次迭代开始。

continue语句可以在while和for循环中使用。

Python 语言 continue 语句语法格式如下:

continue

3、pass语句:pass是空语句,是为了保持程序结构的完整性。
当因为语法需要但不希望执行任何命令或代码时,则可以使用pass语句。

pass语句是一个空操作; 执行时没有任何反应。

pass语句对于代码最终会出现但现在不用写入,即存根的地方也很有用。

Python 语言 pass 语句语法格式如下:

pass

5 类和对象

类(class)抽象的概念,比如说人类、鸟类、水果、是一个总的称呼,没有具体到某个物体。

对象(object,指具体实例)。

类定义的语法:

class 类名:
  执行语句
  类变量
  类方法

类最重要的两部分就是类变量和类方法,类成员之间的可以相互调用。

在实例方法中有一个特别的方法 :__init__ ,这个方法被称为构造方法 。 构造方法用于构造该类的对象, Python 通过调用构造方法返回该类的对象 。 python提供一个功能就是:若开发者没有定义构造函数,python会自动提供一个只包含self参数默认的构造方法。

在__init__构造函数里面的是实例变量,程序可以任何位置(类里面或者类外面)增加实例变量,删除则用del语句。

例如,可以定义一个Coordinate类,用于计算两个坐标点之间的距离,代码如下:

class Coordinate():
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def distance(self, other):
        x_diiff_sq = (self.x - other.x) ** 2
        y_diiff_sq = (self.y - other.y) ** 2
        return (x_diiff_sq + y_diiff_sq) ** 0.5

上面的 Coordinate类定义了 一个构造方法,该构造方法只是方法名比较特殊:__init__ ,该方法的第一个参数同样是 self,被绑定到构造方法初始化的对象 。和函数定义文档类似,类文档用字符串即可。该文档同样被放在类声明之后、类体之前。
下面是调用类的构造方法创建对象。

c = Coordinate(3, 4)
origin = Coordinate(0, 0)
print(c.distance(origin))