Python Learning Notes - 2

Python Learning Notes - 2

主体感想

我们要想表达出一个事件(event),或一系列相联系的事件(events series that construct a system which gives you the desired results of output | イベントシリーズから作られたシステム、このシステムを実行したら,目的な結果を出す),就需要相应熵值的代码,此处的熵值一定要 ≥ 事件系列(system)的熵值。

一段可以运行的python程序,对于计算机来说,有确定的机器动作对应,因而计算机是可以理解这一段代码的,但是,人类,如果不借助注释或文档,就读不懂这段程序,因而对于人类大脑的“解析库(the reservior of background information)”来说,这段程序就是熵值不足的。

因此,本质上来说,程序就是在计算机运行和人类理解之间,架出一座桥梁,既要求计算机可以有序地(并行也好,串行也好)实现机器动作(機械アクション),又要求人类可以读懂程序所描述的信息。所以,我们会尽量使用英文命名,并且在程序中插入大量的注释,对于大型程序,我们还有描述上层逻辑的文档。

学习python,并不是仅仅学习它的文法要求,它的packages —— 当然,使用英文阅读package使用方式的能力至关重要,是需要长久练习的,这如同手绘中透视感觉和描画的练习——而且还要学(learn)习(practice)与思考如何代码化一个系统。一个系统被有组织地代码化了(describe the sytem with orgnized codes),程序就出来了。

普通赋值与类赋值的区别

普通的赋值,会将等号右边的值与类型,都赋给等号左边的变量,比如

a = int(1)
a
1
b = float (1)
b
1.0
a = b 
type(a)
<class 'float'>

而类的赋值,会改变等号右边的值得类型,以适应左边变量的类型,比如

self.rect.centerx = self.center
print(type(self.center))
print(type(self.rect.centerx))
<class 'float'>
<class 'int'>

什么是初始化(Initialization 初期化 イニシャライズ)

初始化是让某种框架以某种状态呈现,这样的一种“动作过程”(初期化とはある枠組みあるいはフレームワークをある状態で表れさせるというプロセスのことである。その後は、フレームワークのインタフェースをつくる。そのインタフェースの上で、ある関数やアトリビュートを利用して変化して、フレームワークから目的な輸出が出らることを実現する)。在此之后,我们可以通过修改“设置参数”或调用框架里的函数,来使框架输出我们想要的结果。“初始化”是把框架引出来,告诉我们,这是一个“系统存储的代码 code reservior - a reusable set of libraries or classes”可以拿来用。比如:

import pygame
pygame.int()   # 初始化游戏

当我们调用类的时候,一般第一步就是初始化, 比如:

  # create a ship
 ship = Ship(ai_settings, screen)

import sth 的意义 import sthはいったい何をする

import sth, 就是我们现在的程序已经和sth建立起了链接(联系),而 sth 就是一个module,一个subVI(借用LabVIEW中的术语)。或者说,import sth,就是将sth里的代码池(code reservior)都包括在现在的程序中了,所以在C语言中,使用 include sth.

我们可以从sth中取出我们想要的任何东西(函数、变量、常量 ……),并以库(sth)提供的平台运行。比如以下的 run_game 函数,它其中的代码,就和以上的所有import过来的代码相联系。

import pygame

from settings import Settings
from ship import Ship
import game_functions as gf


def run_game():
    # initialize the game by creating a screen object
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption('Alien Invasion')

    # create a ship
    ship = Ship(ai_settings, screen)

    # start the main loop of the game
    while True:
        gf.check_events(ship)
        ship.update()
        gf.update_screen(ai_settings, screen, ship)


run_game()

现在我们做任何代码,都是在前人的基础上进行了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值