printMax(a,b):
形参,在定义时使用
实参,在调用时会用
1.括号内是形参列表,有多个参数要用逗号隔开
2.形参不需要声明类型,也不需要指定函数返回值类型
3.无参数,也必须保留空的圆括号
4.实参列表必须与形参列表一一对应
printMax(a,b):
形参,在定义时使用
实参,在调用时会用
1.括号内是形参列表,有多个参数要用逗号隔开
2.形参不需要声明类型,也不需要指定函数返回值类型
3.无参数,也必须保留空的圆括号
4.实参列表必须与形参列表一一对应
import turtle t=turtle.Pen() t.circle(50) t.penup() t.goto(0,-50) t.pendown() t.circle(100) t.penup() t.goto(0,-100) t.pendown() t.circle(150) turtle.done()
### 推导式创建序列
#### 列表推导式
[表达式 for item in 可迭代对象]
或者:{表达式 for item in 可迭代对象 if 条件判断}
也可以两个循环
```python
例子1:
y=[x*2 for x in range(1,50) if x%5==0] print(y)
例子2:
cells=[(a,b) for a in range(1,10) for b in range(1,10)] print(cells)
```
#### 字典推导式
{key_expression : value_expression for 表达式 in 可迭代对象}
```python
my_text="i love you,i love sxt,i love gaoqi" char_count={c:my_text.count(c) for c in my_text}#count()表示字符出现的次数 print(char_count)
```
#### 集合推导式
```python
b={x for x in range(1,100) if x%9==0} print(b)
```
#### 生成器推导式
一个生成器只能运行一次,迭代第一次后,再迭代就没有数据了
```python
a=(x for x in range(4)) print(tuple(a))#tuple是生成元组的意思
```
用zip()并行迭代
### 循环代码的优化
原则:
1.尽量减少不必要的计算
2.尽可能把东西往循环外面放
3.尽量使用局部变量
```python
import time start=time.time() for i in range(3000): result=[] for m in range(10000): result.append(i*1000+m*100) end=time.time() print("耗时:{0}".format(end-start)) start2=time.time() for i in range(3000): result=[] c=i*1000 for m in range(10000): result.append(c+m*100) end2=time.time() print("耗时:{0}".format(end2-start2))
```
### 其他优化手段
1.连接多个字符,使用join()而不使用+
2.列表进行元素插入和删除,尽量在列表尾部操作
3.zip()
Step 2:预处理
Step 1:创建自定义数据集
w = torch.rand(16, 3, 5, 5)
= (ker_num, input_channel, ker_size, ker_size)
Input_channels:
Stocastic: 随即筛选样本
val_set: for detecting overfitting
torch.nn.function
.matmul() 取后两维相乘
unsqueeze:
正:在之前插入
负:在之后插入
.index_select(0, [0, 2])
torch.tensor([2., 3.2])
torch.FloatTensor(2, 3)
Unintialized: 未初始化的tensor
增强学习一般用 DoubleTensor
del 删除变量
I4
numpy数组
1、
浅拷贝 copy :不拷贝子对象的内容,只拷贝子对象的引用。
深拷贝 deepcopy :连子对象的内存也全部拷贝一份,对子对象的修改不会影响源对象。