摘要:
这个 Item 改名为 用 编译器 取代 预处理器 也许更好一些,因为 define 根本就没有被看作是语言本身的一部分。 const 常量代替 define 编译器也许根本就没有看见这个符号名 ASPECT_RATIO,在编译器得到源代码之前,这个名字就已经被预处理器消除了。结果,名字 ASPEC 阅读全文
摘要:
C++ 是多范式的程序设计语言 C++ 是多范式的程序设计语言。同时支持: 过程式编程 面向对象编程 函数式编程 泛型编程 元编程 C++ 四种主要的子语言 C语言 。C++是基于C设计的,你可以只使用C++中C的那部分语法。此时你会发现你的程序反映的完全是C的特征:没有模板、没有异常、没有重载。 阅读全文
摘要:
资源准备 MiniGUI官网下载地址 或者从我的github 分别下载: freetype-2.3.9-fm20100818.tar.gz jpegsrc.v7.tar.gz libmgplus-1.2.4.tar.gz libminigui-3.0.12-linux.tar.gz libpng-1 阅读全文
摘要:
关闭 Windows 防火墙 !!! 采用 win10 自带的 FTP服务器 控制面板→程序→启用或关闭Windows功能。设置如下: 重启电脑!重启电脑!重启电脑! 重启之后,此电脑→管理: 使用 FileZilla_Server 下载地址,下载后默认安装即可。 打开Filezilla Serve 阅读全文
摘要:
断言 凡是用print()来辅助查看的地方,都可以用断言(assert)来替代: assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。 如果断言失败,assert语句本身就会抛出AssertionError。 启动Python解释器时可以用-O参数 阅读全文
摘要:
try try .... except ... else 一个try语句可以有多个except语句。 当try块包含可能引发不同类型的异常的语句时,这就很有用。 还可以提供一个通用的except子句,它处理任何异常。 在except子句之后,可以包含一个else子句。 如果try:block中的代码 阅读全文
摘要:
由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过self变量: 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: 当我们定义了一个类属性后,这个属性虽然归类所有,但 阅读全文
摘要:
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有 阅读全文
摘要:
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能 阅读全文
摘要:
面向对象简介 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP 阅读全文
摘要:
序列化 在程序运行的过程中,所有的变量都是在内存中,可以随时修改变量,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flatt 阅读全文
摘要:
操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中。 查看当前目录的绝对路径: 创建一个目录:os.mkdir() 删除一个目录:os.rmdir() os.path.join() 把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处 阅读全文
摘要:
打开文件对象 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。 打开一个文件对象,使用Py 阅读全文
摘要:
模块 在Python中,一个.py文件就称之为一个模块(Module)。 模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用。 import语句 可以通过在其他Python源文件中执行import语句来将任何Python源文件用作模块。 当解释器遇到 import 语句,如果模 阅读全文
摘要:
偏函数 在Python的functools模块众多的功能中,其中有一个就是偏函数,我们称之为 partial function。 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。 int()函数可 阅读全文
摘要:
装饰器 python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针)。 实质: 是一个函数。 参数:是你要装饰的函数名(并非函数调用)。 返回:是装饰完的函数名(也非函数调用)。 作用:为已经存在的对象添加额外的功能 阅读全文
摘要:
嵌套函数与非局部变量 在函数中定义另一个函数称为嵌套函数。嵌套函数可以访问包围范围内的变量。 nonlocal关键字 使用nonlocal关键字可以修改外层函数中变量的值: 输出: 闭包闭包也称词法闭包,如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是 阅读全文
摘要:
filter filter()函数用于过滤序列。filter()接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计 阅读全文
摘要:
map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 例如: 输出: map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list( 阅读全文
摘要:
变量可以指向函数 函数本身也可以赋值给变量,即:变量可以指向函数: 输出: 函数名也是变量 对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数。 如果把abs指向其他对象: 输出: 高阶函数 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数。 阅读全文