python学习中的点点滴滴

时间:2021-05-25 16:44:25

python 是最近一直比较流行的语言,主要以数据为中心的解释性语言,有很强的灵活性,比较符合英语习惯。。。。

1- 加载一些库文件,数值计算、科学计算等等

import numpy as np
from data import load_data

2--数据类型, 有一些是不可以改变的数据类型,比如 tuple, 字符串, 数值类型,一旦发生改变就是新建数据。还有一些可以改变的,比如说,list列表[  ], 可以进行copy \append 等操作,字典dict{’   ‘},集合set 等

还有生成器函数, 可以使用range(),还有其他。。。


3---常用 的print,2.7以上的版本需要加(),否则直接print

还有判断字典或者列表中是否具有某个键值,可以直接使用“in”

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print d['Michael']
print 'Thomas' in d
最后打印出来 false

还有常用的循环,和matlab 中的差不多,更简洁

names = ['Michael', 'Bob', 'Tracy']
for name in names:
print name
依次打印相应的名字出来

‘4--- 函数的应用,python 有很多Built-in Functions点击打开链接

正确的使用函数,根据函数的说明恰当使用参数

python 中使用def 来定义函数

def my_fun(x):
if x>0 :
return x
else:
return -x

print my_fun(3)
print my_fun(-4)
依次输出 3,4.。另外,函数的参数个数设置,参数类型及返回值的类型都需要考虑。有一类函数中调用自身函数的特殊函数类型--递归函数,例如,我们常见的计算n的阶乘

# 递归函数
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
print fact(3)
print fact(4)
通过一些基础的函数,我们可以实现一些简单功能,比如建立一个1\3\5\7.。。。的列表

#构建列表
L=[]
n=1
while n<=30:
L.append(n)
n=n+2
print L
函数能够依次打印出相应的结果: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]

另外,还有一些使用的小技巧,比如使用切片(slice)而不是连续使用循环的形式

# 列表的切片使用
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
r = []
n = 3
for i in range(n):
r.append(L[i])
print r
# 包括前面【0,1,2】不包括后面
print L[0:3]
对于一些可以迭代对象(dict、list\tuple 元组)等,可以使用迭代方式完成遍历,类似C++中的vector

# 测试迭代使用方法
d={'a':1,'b':2,'c':3,'d':4}
for key in d:
print key
#print key
# dict不是按照顺序存储的,所以可能结果是不一样的
for ch in 'ABSD':
print ch
#print ch
# 可以使用collections 模块的iterable类型来判断是否是一个可以迭代的对象
from collections import Iterable
print isinstance('ABDN',Iterable) #str 是否可以迭代
print isinstance(1234,Iterable) #整数是否可以迭代
后面的输出为: 

True
False

# 可以使用enumerate函数将list变成索引-元素对的形式
for i,value in enumerate(['A','D','M','H']):
print i,value
输出为:

0 A
1 D
2 M
3 H