Python关键要素
一、数据类型
1、int(整型)
Python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。
2、str(字符串)
字符串可以使用双引号或单引号封装,只要字符串头尾使用的符号是对称的。
Python使用Unicode编码,使用方括号[]
来存取字符串等序列中的某一项,例如"hard times"[5]
返回字符t
。
Unicode是字符集,UTF-8是编码规则,UTF-8是实现Unicode的方式之一。
str类型与基本的数值类型(比如int)都是固定的,也就是说,一旦设定,其值就不能改变
如果需要将一个数据项从某种类型转换为另一种类型,那么可以使用语法datatype(item)
,例如:
>>> int("45") # int()转换允许头尾带有空格,如int(" 45 ")也是正确的
>>> str(912)
二、对象引用
对象引用是用于存储某种类型数据的变量。
=
的作用是将对象引用与内存中的对象进行绑定,如果对象引用已经存在,就简单地进行重绑定,以便引用=
操作符右面的对象;如果对象引用尚未存在,就由=
操作符创建对象引用。
下面用一张图说明对象与对象引用之间的关系,圆形代表对象引用,矩形代表内存中的对象:
与C++、Java等强类型语言不同,Python使用“动态类型”机制,也就是说,在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象,例如:
route = 514
route = "python"
可以使用
type()
函数返回给定数据项的数据类型。
三、组合数据类型
元组与列表可用于存储任意数量、任意类型的数据项。元组是固定的,创建之后就不能改变;列表是可变的,在需要的时候,可以插入或移除数据项。
# 元组使用逗号创建
("Python","Java","C++")
("R",) # 若元组只有一个数据项,就必须使用逗号
# 列表使用方括号创建
[1,3,5,7,9]
列表与元组并不真正存储数据项,而是存放对象引用
若需要获取数据项的长度,可使用len()
函数:
>>> len(("R",))
1
>>> len([1,3,4,"python"])
4
>>> len("python")
6
四、逻辑运算符
1、身份运算符
is
操作符是一个二元操作符,如果其左端的对象引用与右端的对象引用指向的是同一个对象,则会返回true
:
# is是对地址的判断,而不是内容,虽然a与b内容相同,但存储在不同的内存地址
>>> a = ["python",6]
>>> b = ["python",6]
>>> a is b
false
# 这个就是对象引用指向了同一内存地址
>>> b = a
>>> a is b
true
# is还可用于与空对象None比较
>>> a = "python"
>>> b = None
>>> a is not None, b is None
(True, True)
2、比较运算符
<
表示小于,<=
表示小于或等于,==
表示等于,!=
表示不等于,>=
表示大于或等于,>
表示大于。
以上的操作符是对对象值进行比较,也就是对象引用在比较中指向的具体对象。
>>> a = "python"
>>> b = "python"
>>> a is b
False
>>> a == b
True
# 可以很方便的进行结链比较
>>> a = 9
>>> 0 <= a <= 10
True
3、成员运算符
对序列或集合这一类数据类型,比如字符串、列表或元组,可以使用操作符in
来测试成员关系,用not in
测试非成员关系。
>>> p = (4,"frog",9)
>>> 2 in p
False
>>> "python" not in p
True
4、逻辑运算符
Python提供了3个逻辑运算符:and、or与not。and与or都是用‘短路’逻辑。
短路逻辑:表达式从左至右运算,若or左侧逻辑值为True,则短路or后所有的表达式,直接输出or左侧表达式;若and左侧逻辑值为False,则短路所有and表达式,直到or出现,输出and左侧表达式到or的左侧。
五、控制流语句
预定义为常量False的布尔表达式、特殊对象None、空序列或集合(比如:空字符串、列表或元组)、值为0的数值型数据项等的布尔结果为False,其他的则为True。
一块代码,也就是说一条或多条语句组成的序列,称为suite
。由于Python中的某些语法要求存在一个suite
,Python就提供了关键字pass
,代表空语句。
1、if 语句
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
else: # 可选
else_suite
2、while 语句
while boolean_expression:
suite
3、for…in 语句
# variable将逐一引用iterable中的每个对象,iterable是可以迭代的任意数据类型
for variable in iterable:
suite
4、基本异常处理
try:
try_suite
except exception as variable # as variable 是可选的
exception_suite
六、算数操作符
与其他语言类似,Python提供了+、-、*、/、+=、*=
等运算符,不同的在于除法操作,除法操作符会产生一个浮点值,而不是一个整数值。如果需要产生一个整数值结果,可以使用int()
进行转换。
>>> 3/2
1.5
七、输入 / 输出
str = input("请输入:");
print ("你输入的内容是: ", str)
八、函数的创建与调用
def functionName(arguments):
suite