Python基础学习笔记1 主函数+class+def


编写程序先简单做一个思维架构 函数方法

1.主界面总结

类名大写,文件名、函数名小写,

import numpy as np  #应用已有的库
import time

import game_functions as gf   #应用自己编写的函数模块
from maze_env import Maze #应用自己写的库 form+文件名 import+类名

UNIT = 40  # pixles 像素     本文件下的全局变量

class Maze:   #类应用库方法  Maze(tk.Tk, object):
    def __init__(self):     #初始类  也可以 __init__(self, ai_settings, screen)
        super(Maze, self).__init__()   #继承
        self.action_space = ['u', 'd', 'l', 'r']  # 赋值变量

        self.title('maze')  #应用库中函数

        self._build_maze()  #呈现图像 编写自己的函数方法也可以放在这里
    
    def _build_maze(self):  #函数方法  1.变量赋值2.动作3.是否返回值
        self.canvas = tk.Canvas(self, bg='white',      #背景
                                height=MAZE_H * UNIT,
                                width=MAZE_W * UNIT)
        # 创造网格
        for c in range(0, MAZE_W * UNIT, UNIT):
            x0, y0, x1, y1 = c, 0, c, MAZE_H * UNIT
            self.canvas.create_line(x0, y0, x1, y1)
        # return observation  返回值
        return self.canvas.coords(self.rect)
        
def update():   #函数方法的书写
    for t in range(10):
        s = env.reset()
        while True:
            env.render()
            a = 1
            s, r, done = env.step(a)
            if done:
                break

if __name__ == "__main__":   #主函数方法的调用  双引号
    env = Maze()

    env.after(100, update)
    env.mainloop()

2.编写代码注意

1.主函数中 def 为方法必须调用才运行。
2.其他功能尽可能的写在函数方法体中。
3.句子后加不加分号 ; 但def,class,if,for 等后加冒号 :

3.类初始化传值——例子

class QLearingTable:
    def __init__(self,actions,learning_rate=0.01,reward_decay=0.9,e_greedy=0.9):
        self.actions=actions  # a liat
        self.lr=learning_rate
        self.gamma=reward_decay
        self.epsilon=e_greedy
        self.q_table=pd.DataFrame(columns=self.actions,dtype=np.float64)

4.继承父类

1.父类
class RL(object):
    def __init__(self, action_space, learning_rate=0.01):
    
2.继承父类
class QLearningTable(RL):   # 继承了父类 RL
    def __init__(self, actions, learning_rate=0.01):
        super(QLearningTable, self).__init__(actions, learning_rate)    # 表示继承关系
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值