#1 数据类型

python使用int类型表示整数,使用str类型表示字符串(Unicode字符序列)

ps:python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。这是由于:python使用的是unicode编码,因此字符串中的符号不局限于ascii字符

#2 对象引用

变量与对象引用

x=“bule”

执行这条语句时,python会创建一个str对象,其文本内容为“bule”,同事还创建一个名为‘x’的对象引用,x引用的就是这个str对象。可以说:变量想已经被分配了‘bule’这一字符串。

python中‘=’的作用是将对象引用与内存中的某对象进行绑定,如果对象存在,就简单进行重绑定;如果对象引用未存在,就由‘=’操作符创建对象引用。

ps:

1、python标示符大小写敏感

2、对象引用的名称,不能喝任何python关键字相同,且必须以字母或下划线引导,其后跟随0个或多个非空格字符、下划线、数字。

#3 组合数据类型

元组与列表

元组是固定的,创建后不可改变

列表是可变的,可以插入或移除数据项

元组使用逗号创建:

>>>“one”,

('one',)

ps:

1、如果某个元组只有一个数据项,又需要使用圆括号,就仍然必须使用逗号,如(1,)使用空的.

2、空元组则使用空的()创建

3、逗号还可用于在函数调用时分隔参数,因此,如果需要将元组常值作为参数传递,就必须使用括号对其进行封装,以免混淆:((1,))

列表用方括号创建:

>>>[1,2]

ps:

1、列表与元组并不真正存储数据项,而是存放对象引用。

2、创建列表与元组是(以及在列表中插入数据项时),实际上是使用其给定的对象引用的副本。在字面意义项(比如整数或字符串)的情况下,会在内存中创建适当数据类型的对象,而存放在列表或元组中的才是对象引用。

#4 逻辑操作符

4.1 身份操作符

>>>a=‘bule’

>>>b='bule'

>>>a is b

False

>>>a=b

>>>a is b

True

is操作符只需要对对象所在的内存地址进行比较——同样的地址存储的是同样的对象。

None通常用作位置标记值,指示“未知”或“不存在”

>>>a=‘bule’

>>>b=None

>>>a is not None,b is None

(True,True)

ps:身份操作符的作用是查看两个对象引用是否指向相同的对象或查看某对象是否为None

4.2 比较操作符

<= ,== ,>= ,!= ,< ,>

4.3 成员操作符

in,not in


>>>a=‘bule’

>>>‘b’ in a

True

4.4 逻辑操作符

and ,or ,not 

>>>five=5

>>>two=2

>>>five and two    #取后面一个

2

>>>five or two       #取前面一个

5

ps:

1、and与or都使用short-circuit逻辑,并返回决定结果的操作数,而不是返回布尔值(除非实际上就是布尔操作数)

2、在布尔上下文中,前例结果为都是True 

#5 控制流语句

if语句

if lines<1000:

print('small')

elif lines<1000:

print('medium')

else:

print('large')

while语句

whileTrue:

item=get_next_item()

if not item:

break

process_item(item)


for...in 语句

for country in ['beijing','london']

print(country)

基本异常处理

try:

try_suite

except exception1 as variable1:

exception_suite1

...

except exceptionN as variableN:

exception_suiteN


#6 算术操作符

+ ,- , *, /

a+=8与a=a+8实际上是一样的,但是

ps:

1、int数据类型是固定的,即一旦赋值,就不能改变。当固定的对象使用增强的赋值操作符时,实际上是创建一个对象来存储结果,之后,目标对象使用重新绑定,以便引用上面创建的结果对象,而不是引用以前的对象。

2、a  operator=b 与a  =a operator b 并不完全一致。前者只查询一次a的值,因而具有更快的可能性。

此外,如果a是一个复杂的表达式(例如,列表元素的索引位置计算,如items[offset+index]),那么使用增强的赋值操作时后者较少出错。这是因为如果计算过程需要改变,那么维护者只需要改变一次,而不是两次。????

>>>name='john'

>>>name+'doe'

'johndoe'

>>>name+='  doe'

>>>name

'john  doe'

ps:列表是可变的,使用+=后,原始的列表会被修改,因此不需要进行重新绑定。

#7 输入/输出

input()

#8 函数的创建与调用

def functionName(arguments):

sutie


ps:arguments是可选的,如果有多个参数,就必须使用逗号进行分隔,每个python函数就有一个返回值,默认情况下为None。除非我们使用语法return value来从函数返回,此时value是实际的返回值,返回值可以仅仅是一个值,也可是一组值。