本文为Python的入门文章,用代码说明其基本的编程方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# 单行注释

"""
多行注释
"""

#### 1、基本数据与运算符

##### 1.1、除法结果自动转浮点数
3/2 # out=1.5

##### 1.2、整除,向下取整
5//3 # out = 1

##### 1.3、字符串表示
'单引号包裹的字符串'
"双引号包裹的字符串"

##### 1.4、字符串列表
"Hello"[0] # out = 'H'

##### 1.5、格式化字符串
"my name is {}, hello {} ".format("perry","roc") # out = 'my name is perry, hello roc '

##### 1.6、关键字标识参数
"my name is {name}, I like {language} ".format(name="perry",language="Python") #out = 'my name is perry, I like Python '

#### 2、变量和集合
##### 2.1、列表操作
li = [1,2,3,4] #创建
li.append(5) #追加到末尾
li.pop() #从末尾删除
li[1] #取数据 out = 2
li[1:3] #切割 out = [2,3]
li[::2] #隔一个取 out = [1,3]
del li[1] #删除 out = [1,3,4]
3 in li #判断是否存在 out=True

##### 2.2、元组操作
tup = (1,2,3,4) #创建
tup[0] = 5 #TypeError,不可赋值
a,b,c,d = tup #解包,a=1, b=2, c=3, d=4

##### 2.3、字典
dic = {"name":"perry", "age":30, "course":"Python"} #创建
dic["name"] #取值 out = "perry"
dic.keys() #键列表 out = dict_keys(['name', 'age', 'course'])
dic.values() #值列表 out = dict_values(['perry', 30, 'Python'])
dic.get("name") #取值,放置KeyError

##### 2.4、集合Set
s1 = {1,2,3,4,5}
s1.add(6) #添加元素
s2 = {3,4,7}
s1 & s2 #交集 out = {3,4}
s1 s2 #并集 out = {1,2,3,4,5,6,7}
s1 - s2 #补集 out = {1,2,5,6}

#### 3、流程控制
##### 3.1、if
if 1 == 2:
print(" true")
else:
print(" false")

##### 3.2、for循环
for i in [1,3]:
print("number: {}".format(i))

for i in range(1,3):
print("number2: {}".format(i))

##### 3.3、while循环
i = 0
while i < 3:
print(i)
i=i+1

#### 4、函数
##### 4.1、函数定义
def add(x,y):
return x+y

##### 4.2、调用
add(3,4)
add(x=3,y=4) #关键字方法调用

##### 4.3、可变参数函数
def func(*args, **kwargs):
print(args)
print(kwargs)

func(1,2,x=3,y=4)
# out : (1, 2)
# {'x': 3, 'y': 4}

#### 5、面向对象
##### 5.1、定义
class Animal(object):
type = "Bird"

#构造方法
def __init__(self, name):
self.name = name

#实例方法
def fly(self, dest):
return "{name} fly to {dest}".format(name=self.name, dest=dest)

#类方法
@classmethod
def getType(cls):
return cls.type

#静态方法
@staticmethod
def eat():
return "eat something"

##### 5.2使用
bird1 = Animal(name="littel bird")

print(bird1.fly(" ShenZhen")) #out : littel bird fly to ShenZhen

bird1.getType() #out : 'Bird'

Animal.type = "Fish"
fish1 = Animal(name="littelFish")

print(fish1.getType()) # out : Fish

Animal.eat() # out : 'eat something'

#### 6、模块
##### 导入
import math
from math import sqrt
from math import *
import math as m
dir(math)

#### 7、装饰器
from functools import wraps

def beg(target_func):
@wraps(target_func)
def wraper(*args,**kwargs):
msg,sayplease = target_func(*args,**kwargs)
if sayplease:
return "{} {}".format(msg, "Please!")

return msg
return wraper

@beg
def say(say_please=False):
msg = "sit down"
return msg,say_please

print(say()) # out : sit down
print(say(say_please=True)) # out : sit down Please!