一、一些基础概念
-
python是一种解释语言,命令通常在python解释器中执行
python解释器收到1条命令,然后评估该命令,最后返回该命令的结果。 -
源代码/脚本
程序员通常提前定义一系列命令,然后把这些命令保存为纯文本文件,这些程序被称为源代码或脚本。
对于python,源代码通常存储在一个扩展名为 .py 的文件中 -
IDE(集成开发环境)
许多集成开发环境为python提供了丰富的软件开发平台。
例如,拥有标准python发型版的IDLE:IDLE提供了一个嵌入式的文本编辑器,可显示和编辑python代码,以及一个基本调试器(允许逐步执行程序,以便检查关键变量的值)。
二、python的对象
在Python中,类是所有数据类型的基础
1、创建一个对象(实例化)
通过调用某个类的构造函数,可实例化一个类。如:a = int()
,即创建了一个整型类的实例a。
在此实例化类的过程中,a 即是我们创建的一个对象。
2、使用对象
我们可以使用运算符、赋值语句等,直接对一个对象进行各种操作,如:
a = int(1) #创建了一个整型类对象a,它的值是1
a = a + 1 #将a引用的对象(1)加上1,等于2,再将结果2 赋给a,此时a“变成”了2
也可以通过调用类的方法对对象进行各种操作。
类的成员函数通过使用对象名 + 点操作符(.
) + 方法名来调用。
如:
a = list() #调用list类的构造函数,创建一个list类的实例a
print (a)
>>> []
a.append(1)
a.append(3)
a.append(2) #调用list类的append方法,在[]中添加成员1,3,2
print (a)
>>> [1,3,2]
3、python的一些内置类
- 逻辑类型
布尔类bool()
- 数值类型
整型类int()
、浮点型类float()
- 序列类型
列表类list()
、元组类tuple()
、 字符串类str()
- 字典类
字典/映射类dic()
- 集合类
set类set()
、 frozenset类(不可变的set类)frozenset()
(集合中没有重复元素,且元素间没有内在联系、没有顺序。只有不可变类型的实例才可以被添加到一个集合中)
三、表达式
1、标识符、对象和赋值语句
tep =98.6
''' 其中tep是标识符、98.6是一个浮点型对象、表达式'tep =98.6'整体构成一个赋值语句
在这个赋值语句中,规定tep作为标识符与等号右边表示的对象相关联'''
alter = tep
''' 为98.6这个浮点型对象建立了一个别名alter'''
tep = tep + 5
''不影响已存在的对象98.6,而是重新给标识tep分配了一个新对象103.6'''
在python中,标识符与所引用的对象的内存地址隐式关联。类似java中的引用变量或c++中的指针变量。
标识符的数据类型不需要事先声明(因为python是一种动态类型的语言),它与它所引用的对象类型相关联。
2、运算符、运算符的优先级
以下是一些常见的运算符:
- 逻辑运算符
not
、and
、or
- 相等运算符
is
、is not
、=
、!=
- 比较运算符
<
、<=
、>
、>=
(对数值类型、定义好的字典(??)、有大小写之分的字符串有可预期的结果) - 算数运算符
+
、-
、*
、/
、//
、%
(n/m=q……r,保证q*m+r = n,且0<=r<m)
位运算符:~
取反、&
按位与、|
按位或、^
按位异或、<<
左移位用0填充、>>
右移位按符号位填充 - 序列运算符
s[j]
、s[start:stop]
、s[start:stop:step]
、s+t
、k*s #s连接k次
、val in s
、val not in s
- 集合/字典运算符:
set&frozenset支持:key in s
、key not in s
、s1 == s2
、s1 != s2
、s1 <= s2 #s1是s2的子集
、s1 < s2
、s1 >= s2 #s1是s2的超集
、s1 > s2
、s1 | s2 #并集
、s1&s2 #交集
、s1 - s2 #差集
、s1 ^ s2 #对称差分(??)
字典支持:d[key]
、d[key] == value
、del d[key]
、key in d
、key not in d
、d1 == d2
、d1 != d2
- 扩展赋值运算符: 支持大多数二元运算符进行扩展赋值运算,如:
count += 5
→count = count + 5
。
(注:对于不可变类型,该语法无法改变现有对象的值,而是对新构造的值重新分配标识符;但对于列表类型,它可通过重新定义语法规则去改变对象的行为,如:)
alpha = [1,2,3]
beta = alpha
beta + = [4,5] #在原list上增加两个元素
beta = beta + [6,7] #把beta重新分配给一个新列表[1,2,3,4,5,6,7]
print (alpha,beta)
>>>[1,2,3,4,5],[1,2,3,4,5,6,7]
运算符是有优先级的:
编程语言对符合表达式的执行顺序必须有明确的规定,如:5 + 2 * 3
中乘除运算的优先级要大于加减运算。
同一级别中,优先级较高的运算符会比优先级低的运算符先执行,除非表达式中有括号。
(其他一些运算的优先级暂不赘述……有空补)
3、python支持的一些其他表达式语法
- 多级赋值:
x=y=0
- 链接 比较运算符:
1<=x+y<=10
(不用将x+y计算两次)
四、控制流程
1、条件语句
if语句
2、循环语句
while循环、基于索引的for循环