表达式,对象

表达式是可以计算的代码片段,由操作数和运算符构成,运算符包括+、-、*、\等。操作数包括文本变量如:‘abc’、变量如:i= 123、类成员变量/函数(如:math.pi)等,也可以包含子表达式(如:2**10指的是2 的10次方)、乘号不能省略,pow(2,3,3)表示2的3次方,第二个3表示3次根号开方,结果为2

python中可以使用圆括号()控制运算的优先顺序

python语句分为简单语句(由一行代码就可以组成的,不是一个函数体)和复合语句(由多行代码块组成的,是一个函数体;由头部语句和构造体语句组成)使用缩进格式划分语句块

例如 :数学表达式1/2 sin[a(x+1)+b] 写成python表达式为:

import math

math.sin(a*(x+1)+b)/2

 python中所有数据都是对象,每个对象都属于某个数据类型

对象类型(type)和标识(id)

如type(25)   #输出:<class'int'>

    id(25)       #输出:505911248

对象引用

通过标识符和赋值运算符(=),可以指定某个变量指向某个对象,即引用该对象。多个变量可以引用同一个对象,一个变量也可以改变指向其他的对象,例如

type(123)   #输出:<class'int'>

id(123)       #输出:505912816

a = 123

id(a)                #输出:505912816

b = 123

id(b)                #输出505912816

释:123为类int的对象实例,其id为505912816:a = 123,即变量a指向(引用)对象实例123,故其id为505912816:b = 123,即变量b也指向(引用)对象实例123,故其亦为5059128116

对象比较(==)和类型判别(is)

‘==’运算符可以判断两个变量指向的对象的值是否相同;‘is’运算符可以判断两个变量是否指向同一个对象,例如:

a = 'abc'

b = '123'

x = a

y = a

x == y   #输出 ‘true’

x is y    #输出‘true’

x == b  #输出‘false’

x is b   #输出‘false’

不可变对象(immutable)和可变对象(mutable)

不可变对象一旦创建,就不能被修改,可变对象的内容可以被修改

 

复合赋值语句

系列解包赋值

python支持把组合数据类型解包为对应相同个数的变量,例如:

a,b = 1,2

a      #输出1

b      #输出2

a,b = b,a     #a与b进行交换

a      #输出2

b      #输出1

但变量的个数必须与数值的个数保持一致否则会出错,如:x,y = 1,这时由于变量是俩个,而只有一个数值,所以会出错

python中包含三种特殊的数据类型:None,NotImplemented , Ellipsis

1,None 类型包含唯一值None,主要用于表示空值,如没有返回值的函数结果

如:

None

print(None)     #输出None

type(None),id(None)     #输出:(<class 'None Type'>,505672132)

2.NotImplemented 类型包含唯一值NotImplemented,数值运算和比较运算时,如果对象不支持,则可能返回该值

 NotImplemented      #输出NotImplemented

type(NotImplemented), id(NotImplemented)      #输出(<class'NotImplemented Type'>,505672340)

3.Ellipsis 类型包含唯一值Ellipsis , 表示省略字符串号:...。例如:

Ellipsis         #输出:Ellipsis

type(Ellipsis) , id(Ellipsis)      #输出(<class 'Ellipsis Type'>,505677708)

数值数据类型

python包含四种内置的数值类型

1,整数类型(int)如:123,456,-13

2,布尔类型(bool) 如:True 、False

3,浮点类型 (float) 如:3.14,-1.2,1.1e10

4,复数类型(complex) 如:3+4j,1.2+5.6j

序列数据类型

不可变的序列数据类型

1,字符串;2,元组类型;3,字节序列

可变的序列数据类型

1,列表类型;2,字节数组

lambda函数是一种快速定义单行的最小函数,从lisp中借来的,可以用在任何函数中,也称为匿名函数,可以接收任意多个参数,如:

u = lambda x,y:x*y

u(2,3) # 结果为6

 

posted @ 2018-03-16 10:20  黎明忠  阅读(448)  评论(1编辑  收藏  举报