Python学习总结
语法整理
if语句
if (something):
elif(something):
else:
lambda 函数
r = lambda x, y: x * y
r(12,3) #output:36
(lambda x: x + 3)(4) #ouput:7
(lambda x, y: x + y)(4,5) #output: 9
map 函数
map(function, iterable)
功能整理
对矩阵中每一个元素进行同一个函数运算
- 连续函数
def sigmoid(x):
return 1/(1+np.exp(-1*x))
A = np.random.randn(3,3)
f1 = sigmoid(A)
- 分段函数
def relu(x):
if x>0:
return x
else:
return 0
relu_vector = np.vectorize(relu)
f2 = relu_vector(A)
#如果直接用relu函数对矩阵A进行运算,会报错:ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
pass语句
当写一段python代码,但某些部分还没有确定而为了保证代码结构的完整,并且能够编译通过,使用pass
占位。
def fun_wait_for_imp():
pass
退出程序
import sys
sys.exit() #默认为0,表示正常退出。
sys.exit(0)
sys.exit(1)
初始化列表
a = [0]*5 #a = [0,0,0,0,0]
a = [[0]*3]*2 #a = [[0,0,0],[0,0,0]]
a[0][1]=1 #a = [[0,1,0],[0,1,0]]
b = [0 for i in range(5)] #b = [0,0,0,0,0]
b = [[0]*3 for i in range(2)]
#or
b = [[0 for j in range(3)] for i in range(2)] #b = [[0,0,0],[0,0,0]]
b[0][1]=1 #b = [[0,1,0],[0,0,0]]
读取文件
file = open("test.txt")
try:
data = file.read()
finally:
file.close()
#or
with open("test.txt") as file:
data = file.read()
python内执行Linux命令
import os
res = os.popen("python generate_data.py 10 | ./sort") #引号内为linux下可执行的命令语句
res.read() #查看命令执行后的输出结果
注:这可以用来在python代码中执行其他程序,比如编译好的c++程序。上面的示例给出的是管道命令。
关于注释
python中多行注释用三个引号将注释内容括起来:'''注释'''
python是通过缩进来进行解释的,这里需要注意的是多行注释时也需要将缩进对齐,否则会报错。不过单行注释,即以字符#
开头的注释是不需要遵循缩进的。
查看python及包版本
python --version
#or
python -V
缩进注意项
在python中,缩进很重要,用来实现代码结构和语句关系。实现缩进有两种方式:Tab
或者空格
。但需要注意的是,在写代码时,不要混用两种缩进方式,否则会出现以下错误:
IndentationError: unindent does not match any outer indentation level
何为缩进方式混用:下图示出的....
表示用空格实现的缩进,——
表示用Tab实现的缩进,可以看到下面的代码中出现了空格和Tab的混用,所以会报错。(在IDE中可以查看,个人用的是Sublime Text)
查看包的版本(以numpy为例)
python
import numpy
print(numpy.__version__)
print(numpy.version.version) ##line 3, line 4 选一即可
获取帮助
help(numpy.reshape)
以上为个人学习过程中不断积累的学习碎片,
学习是一个不断迭代的过程。
若您在本文档中发现了错误,
还望您告诉我,
不胜感激。
学海无涯,我在泛舟…