python基础梳理

python简介

定位

python的定位:优雅、明确、简单。

python解释器

Cpython:C语言开发。通常在命令行下运行python就是启动CPython解释器,一般是以>>>作提示符。
IPython:基于CPython之上的一个交互式解释器,只是在交互方式上有所增强。Python用In [序号]:作为提示符。
PyPy:P采用JIT技术,对Python代码进行动态编译(注意不是解释)。所以可以显著提高python代码执行速度。
Jython:运行在Java平台上的Python解释器,直接把Python代码编译成Java字节码执行。
IronPython:类似JPython,把Python代码编译成.Net的字节码。

输入输出

输入:input()
输出:print()

注释

#标记注释。

缩进

当语句以冒号:结尾时,缩进的语句视为代码块。

大小写敏感

Python程序是大小写敏感的,如果写错了大小写,程序会报错。

python基础

数据类型和变量

整数
浮点数(值得注意的是:科学计数法可以将1.23x109表示为1.23e9)
字段串
布尔值:True/False
空值:None

条件判断

if语句:

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

循环

Python的循环有两种,一种是for…in循环,一种循环是while循环。
ffor循环常用的几个场景:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)
sum = 0
for x in range(101):
    sum = sum + x
print(sum)

比较高级的用法,在列表生成式中的应用:

>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

list与tuple

list:列表。是一种有序的集合,可随时添加删除其中元素。

l = [1,2,3] 
l = list(range(1, 11))

tuple:元组。是一种有序列表,初始化后不能修改。

t = (1,2,3)

这里要注意的是:如果要定义只有一个元素的tuple。(1)python会解释成整数1,所以为了区分整数与tuple,一般只有 一个元素的tuple写成(1,)。要多加一个逗号。

dict与set

dict:字典。其他语言也称map,key - value模型,极快速查询。

d = {'a':1,'b':2}

在dict中,key必须是不可变对象。字符串、整数不可变,可key。list可变,不能做key。

set:与dict类似,也是一组key的集合,但不存储value。在set中,没有重复的key。

s = set([1,2,3])

可变对象与不可变对象

不可变对象:调用自身任意方法。不改变对象自身内容。相反,会创建新的对象并返回。