快速上手之Python3

前言

由于经常切换编程语言, 语法大相径庭. 以至于很久没用某个语言时会想不起来语法结构之类的. 所以花时间对各个编程语言的入门做了个总结. 便于快速进入状态.

一览代码风格

1
2
3
4
5
6
7
import json

name = input("请输入你的名字:")
if name == '':
print('这个家伙很懒, 什么也没有留下!')
else:
print("名字:" + name)
  • py用缩进包括代码, 请注意
  • py是自上往下执行的, 没有入口方法main; if __name__ == 'main' 可以模拟main来使用

注释

1
2
3
4
5
6
# 单行注释

"""
多行注释
多行注释
"""

基本数据类型

String

1
2
3
4
5
6
7
a = '你好'
b = "hello"

c = '''多行文本
多行文本
多行文本
'''

Bytes

1
2
a = b'我是字节集'
b = '编码成字节集 utf-8'.encode()

Integer

1
2
a = 666
b = a + 233

条件控制 / 三元运算符

1
2
3
4
5
6
7
8
9
if <条件>:
# 成立
elif <条件2>:
# 成立2
else:
# 不成立

# 三元运算符
<成立> if <条件> else <不成立>

循环

计次循环

1
2
3
4
5
6
7
8
for i in range(500):
print(i)

# 输出结果...
> 0
> 1
> ...
> 499

循环list/元祖/集合等

1
2
for item in <list>:
print(item)

函数

1
2
3
4
def hello(name):
print('hello ' + name)

hello('ruby')

类的定义和使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class MyClass():
# 类成员
name = 'hmp'

# 私有成员以"__"开头, 外部无法访问. 内部使用 self.__xxx 访问
__age = 666

# 私有方法以"__"开头, 外部无法访问. 内部使用 self.__xxx 访问
def __init__(self):
# 构造方法

def 方法1(self, 参数1, 参数2):
# self 代表类实例(此对象而非此类), [参数1]才是第一个参数注意!!!
self.name = '666'

def 静态方法1(参数1, 参数2)

类的专有方法

  • __init__ : 构造函数,在生成对象时调用
  • __del__ : 析构函数,释放对象时使用
  • __repr__ : 打印,转换
  • __setitem__ : 按照索引赋值
  • __getitem__: 按照索引获取值
  • __len__: 获得长度
  • __cmp__: 比较运算
  • __call__: 函数调用
  • __add__: 加运算
  • __sub__: 减运算
  • __mul__: 乘运算
  • __truediv__: 除运算
  • __mod__: 求余运算
  • __pow__: 乘方

类的继承

单继承

1
2
3
4
5
6
7
8
9
10
11
12
class AAA:
def hello(self):
print('hello')

class BBB(AAA):
# 覆盖/重写方法
def hello(self):
print('你好')

>>> t = BBB()
>>> t.hello()
你好

多继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class AAA:
def hello(self):
print('hello')

class BBB:
def call(self):
print('call')

class CCC(AAA, BBB):
def show(self):
print('show')

>>> t = CCC()
>>> t.hello()
hello
>>> t.call()
call
>>> t.show()
show

异常处理

1
2
3
4
5
6
7
8
try:
# 请输入你的代码...
except [异常类型]:
# 发生了异常
except [异常类型] as 变量:
# 发生异常, 使用[变量]获得细节
else:
# 安全通过

列表(list)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> a = ['hello', 'lzsb', 'del']
>>> a[1] = 'help'
['hello', 'help', 'del']
>>> del a[0]
['help', 'del']
>>> print(a[1])
'del'

>>>L=['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'
>>> L[1:]
['Runoob', 'Taobao']

表达式

表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] 重复
3 in [1, 2, 3] True 是否存在
for x in [1, 2, 3]: print(x, end=” “) 1 2 3 迭代

list的函数

code 描述
len(obj) 列表数量
max(obj) 返回列表最大元素值
min(obj) 返回列表最小元素值
list(seq) 元祖转换成列表

list的方法

code 描述
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表