Anaconda建立环境
1.建立虚拟环境
conda create --name tensorflow python=3.5
2.激活虚拟环境
activate tensorflow
3.关闭虚拟环境
deactivate
4.安装tensorflow和Keras
pip install tensorflow
pip install keras
Tips:一定要注意python、Tensorflow、keras版本的对应(点这里看
列表:
a = []
b = [1,2,3,4]
c = [1,12.3,'This is a book',a]
print("a = ", a)
print("b = ", b)
print("c = ", c)
print(c[1::2]) #::2 代表步长 故代表下标索引为奇数的元素
print(c[::2]) #::2 代表步长 故代表下标索引为偶数的元素
print(b is b_cup) # 判断对象是否相同
print(b == b_cup) # 判断内容是否相同
append #将参数作为一个整体添加到原始元素的末尾
extend #将参数以元素的形式追加到原始元素末尾
insert(a,b) # 参数a为插入的位置,b为新插入的元素 其余元素后移
b.clear() #清空b列表
b.remove(元素) # 移除第一个对应元素
b.index(元素) #第一次出现对应元素的索引
b.count(元素) # 查找元素出现的次数
b.reverse() #逆序
数组和列表
列表可以有多种数据类型元素组成
a = [0,2,1,2,3]
form array import array
array_a = array('i',a)
print(array_a)
import sys
print(sys.getsizeof(array_a),sys.getsizeof(a))
# 获得数组和列表占据的内存大小
元组
元组和列表相似,但其是一类元素不可变的数据类型
a = (1,2,3,['F','S'])
print(type(a))
a[3][0] = 4 #可以更改!!!
# 列表内部元素变化仅仅和列表有关,与元组无关,元组的不可变性没有受到影响。
集合
集合内没有重复元素
集合的性质与数学上的定义很类似:乱序性、无重复性
a = {'123','456','123'} # 会自动去重,可能会打乱元素顺序
find_res = '123' in a , '456' in a # 判断集合内是否存在某元素
print(type(find_res)) # 数据格式为元组
# 交集、并集
dis_a = {'123'}
sup_a = {'123','456','789'}
a.issubset(sup_a) # 用于判断是否是子集 True
sup_a.issuperset(a) # 用于判断是否是超集 True
a.isdisjoint(dis_a) # 判断dis_a是不是a的不相交集 False
print(a <= sup_a) # a是不是sup_a的子集
print(a >= sup_a) # a是不是sup_a的超集
print(a == sup_a) # a和sup_a是否相等
#将列表转化为集合
set(['123','456','123']) #同样会去重
字典
本质是一个映射,重点是查找只能通过键
<键,值>:<key,value>
a = {1:'123',2:'456',3:'789'} # 1:'123' 1是用于查找的key键 '123'是所要查找的目标value值
print(a[1],a[3],a[2]) # 通过键访问内容
print('123' in a) # False 查找字典内的值只能通过键来查找,即只能搜索键不能搜索值!
print(1 in a) # True
print(a[4]) # Error 不能查找字典内没有键的值
a,get(4,'Not find') # 字典内没有该元素可返回一字符串,不报错
遍历循环
# 基本的太简单就不写了
c = {'This','小明','小红'}
for i,j in enumerate(c): #emumerate表示在遍历元素的同时还可以遍历检索值
print('index = ', i,'value = ',j )
b = {1:'小明',2:'小红',3:'小王'}
#值的遍历
for j in b.values():
print(j)
#键和值的同步遍历
for l,m in b.items():
print('key = ',l,'value = ',m)
#索引、键、值同步遍历
for l,(m,n) in enumerate(b.items()):
print('index = ',l,'key = ',m,'value = ',n)
隐式遍历
range(1,11) #生成数列
a = [1,2,3,4,5]
b = [2*i for i in a] #给列表中每个元素进行*2操作
函数
def square(x):
"""return the square of input x"""
return x*x
# help(square) #会返回引号之内的内容
#format 方法
"{}曰:学而时习之,不亦{}".format("孔子","说乎")
def register(name, sex='male',emai_type='QQ'):
print("register a new user :")
print('name ={},sex={},email_type={}'.format(name,sex,email_type))
#通过*的方式区分函数参数从而适应变长参数的应用
def func(*args):
for i in args:
print(i)
func(1)
func(1,2,3,4,5)
# **将输入的内容汇总在一起以字典的形式输出
def func(**args):
for key,value in args.items():
print(key,':',value)
func(name ='Bob', homeland = 'U.S.A', color ='red')