Python 3 是相对于较早版本而言的,为了不带入过多的累赘,未兼容 Python 2 版本。二者语法上很相近,只是 3.x 版越来越普及,所以还是拥抱新事物吧!
变量
- 第一个字符须是字母或下划线
_
- 其他部分可用字母、数字、下划线
- 区分大小写
关键字
标准库提供的 keyword 模块,查看当前版本关键字:
import keyword
keyword.kwlist
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
注释
#
:单行注释
'''
或"""
:多行注释,三个单引号或三个双引号
# 第一个注释
'''
第二个注释
第三个注释
'''
"""
第四个注释
第n个注释
"""
行和缩进
Python 3 的一行对应一句,不提倡分号 ;
的使用。
若是想一行变多行,可用转义字符 \
。在()、[]、{}中的多行语句,不需要 \
。
name = 'my name : \
firstlast'
name = ['frist',
'last']
Python 3 使用缩进表示代码块,不需要大括号 {}
,这要求同一代码块的缩进空格数必须相同。
空行
空行不属于 Python 3 语法,函数之间或类的方法之间用空行分隔,主要是为了程序的可读性和维护。
标准数据类型
- Number(数字)
- 整数:可对整数执行加
+
减-
乘*
除/
乘方**
取余%
等运算 - 浮点数:Python 将带小数点的数字都称为浮点数
- 整数:可对整数执行加
- String(字符串)
'Hello World!'
"Hello World!"
- title() lower() upper()
+
\t
\n
- strip() rstrip() lstrip()
- List(列表)
[ ]
表示列表,逗号,
分隔元素- 访问
list[0]
,索引访问list[-1]
,索引-1
代表最后一个元素,索引-2
代表倒数第二个元素,依次类推…
- 切片
list[0: 3]
- 复制
tmp = list[ : ]
,两个变量指向两个独立列表,不可以复制,相当于指针赋值,两个变量均指向同一列表tmp = list
- 修改
list[0] = value
,赋值修改
- 添加
- append(value),末尾添加元素
- insert(0, value),指定位置插入元素
- 删除
del list[0]
,删除索引处元素tmp = list.pop()
,弹出末尾元素,并返回弹出元素的值tmp = list.pop(0)
,弹出索引处元素list.remove(value)
,根据值删除元素,只删除第一个匹配的元素
- 排序
list.sort()
,永久排序,改变原始列表tmp = list.sorted()
,临时排序,返回一个排好序的副本列表list.reverse()
,按索引将列表元素逆序排序,改变原始列表
- 长度
tmp = len(list)
,列表长度
- Tuple(元组)
( )
表示元组,逗号,
分隔元素,元组中的元素不可变- 读取操作参考列表
- Set(集合)
{ }
表示集合,逗号,
分隔元素,集合中的元素不会有重复值- 创建空集合用
set()
,用{ }
只能默认创建空字典
- Dictionary(字典)
{ }
表示字典,逗号,
分隔元素,字典中的元素是键值对,用key : value
表示
简单输入和输出
str = input('请输入您的名字:')
print('您的名字为:',str)
input() 函数求值为字符串,若要处理整数等,输入后需要其他函数二次处理
注意:
- 在 Python 2,使用 raw_input() 来获取输入。
- Python 2 中函数 input() ,将用户输入解读为 Python 代码,并尝试运行。
条件测试
==
,检查值是否相等!=
,检查值是否不相等>=
大于等于,<=
小于等于,>
大于,<
小于in
,检查特定值是否包含在列表中not in
,检查特定值是否不包含在列表中and
逻辑与,or
逻辑或True
、False
,布尔表达式
条件控制
关键字:if - elif - else
if 条件 :
缩进语句块
- 每个条件后需要冒号
:
- 用缩进划分语句块
number = int(input('请输入一个整数'))
if number < 0 :
print ('您输入的是负整数')
elif number > 0 :
print ('您输入的是正整数')
else :
print ('您输入的是零')
循环控制
关键字:while
或 for...in...
break
,退出循环continue
,返回到循环开头
while 条件 :
缩进语句块
for 变量 in 元素项目 :
缩进语句块
- 注意冒号
:
和缩进 - 注意循环条件,防止死循环
while 循环较简单,满足条件,即执行语句块。
n = 0
while n < 10 :
print(n)
n=n+1
for 循环把每个元素代入变量,然后执行语句块。
for n in [0,1,2,3,4,5,6,7,8,9] :
print(n)
# 函数 range() 能轻松地生成一系列的数字
for n in range(0, 10) :
print(n)
# 使用函数 range() 时,第三个参数可指定步长
for n in range(0, 10, 2) :
print(n)
自定义函数
关键字:def
def 函数名 (参数) :
缩进语句块
- 以 def 关键字开头,后接函数名和圆括号
()
冒号:
,缩进语句块 - 圆括号之间可定义参数
- 关键字
return
返回值给调用方,否则默认返回 None
def hello() :
print('Hello world!')
hello() #利用函数名调用
导入模块
import <module>
:导入整个模块
from <module> import <func1,func2,...>
:导入某模块中某些函数,用 *
可代替全部函数名。
类和实例
关键字:class
class 类名 (父类) :
缩进代码块
"""一个表示动物的类"""
class Animal() :
""""""
def __init__(self, name, age)
self.name = name
self.age = age
def eat(self)
print(str(self.name) + ': ' + str(self.age))
class Dog(Animal) :
def __init__(self, name, age, voice)
super().__init__(name, age)
self.voice = voice
def get_voice()
return self.voice
类中的函数称为方法,函数的一切均实用与方法。区别在于调用方式。
文件
关键字:with open(文件路径) as 文件对象变量名 :
with open('tmp.txt') as file_object:
tmp = file_object.read()
print(tmp)
Python 会在合适的时间将打开的文件自动关闭,也可调用 close() 手动关闭
with open('tmp.txt', 'a') as file_object:
file_object.write("I love creating new games.\n")
tmp = file_object.read()
print(tmp)
实参 'a'
,表示将内容附加到文件末尾,而不是覆盖文件原来的内容
异常
关键字:try : except : else : finally
try :
缩进代码块
except Exception1 :
缩进代码块
except Exception2 :
缩进代码块
...
else :
缩进代码块
finally :
缩进代码块
try :
print(5 / 0)
except ZeroDivisionError :
print('数字 0 不能做除数!')
else :
print('运行成功')