5 刘知杭 静态类型的Python静态类型的Python Lyzh(刘知杭) 目录 CONTENTS 有关类型的概念 使用mypy对Python源 代码进行静态分析 代数数据类型 拓展知识 关于类型的一些基本概念 有类型不等于有类型系统 动态语言类型化的必要性 不久前的一个案例 正文 类型的概念 CPython定义了PyObject这个 结构体作为对象头。 CPython中的类型,是指在对 象头中指向类型元信息的指针。 象头中指向类型元信息的指针。 CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 类型系统是什么? 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时 不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 ime)的类型推导检查规则。 类型系统就是一种轻量级的形式化方法,它通常被植入编译器或程序分析器中进行自动校验。 从而让那些不熟悉底层理论的程序员也可以使用它们。 这类轻量级技术中还包括模型检测(Model checking),运行时验证(Runtime verification)和类型系统(Type system)等等。其中类型系统最流行,发展最完善。 在计算机科学中,形式化方法(Formal0 码力 | 42 页 | 6.87 MB | 1 年前3
PyWebIO v1.0.3 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github 数是阻塞式的(和Python内置的 input 一样),在表单被成功提交之前,输入 函数不会返回。 基本输入 首先是一些基本类型的输入 文本输入: 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完 成输入将表单提交后,函数返回用户输入的值。 下面是一些其他类型的输入函数: age = input("How old are you?", type=NUMBER) 输入选项 return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code0 码力 | 106 页 | 7.34 MB | 1 年前3
PyWebIO v1.0.3 使用手册一样),在表单被成功提交之前,输入函数不会返回。 基本输入 首先是一些基本类型的输入 文本输入: age = input("How old are you?", type=NUMBER) 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完成输入将表单提交后,函数返 回用户输入的值。 下面是一些其他类型的输入函数: # 密码输入 password = input("Input return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror 实现代码风格的编辑区,只需使用 code 参数传入 Codemirror 支持的选项即可 (最简单的情况是直接传入 结束后,事件回调也将不起作用,你可 4.1. User’s guide 15 PyWebIO, 发布 1.0.3 以在任务函数末尾处使用pywebio.session.hold() 函数来将会话保持,这样在用户关闭浏览器页面前, 事件回调将一直可用。 输出域 Scope PyWebIO 使用 Scope 模型来对内容输出的位置进行灵活地控制,PyWebIO 的内容输出区可以划分出不同的输 出域,PyWebIO 将输出域称作0 码力 | 94 页 | 1.71 MB | 1 年前5
PyWebIO v0.3.0 使用手册Nginx WebSocket配置示例 Release notes 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Send me Email wang0.618&qq.com (replace & with pywebio.input import * 引入。 基本输入 首先是一些基本类型的输入 文本输入: age = input("How old are you?", type=NUMBER) 这样一行代码的效果如下,浏览器会弹出一个文本输入框来获取输入,在表单 被提交之前,input 函数不会返回。 一些其他类型的输入: # 密码输入 password = input("Input password" return 'Too old!!' age = input("How old are you?", type=NUMBER, valid_func=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code0 码力 | 72 页 | 8.55 MB | 1 年前3
PyWebIO v1.1.0 使用手册一样),在表单被成功提交之前,输入函数不会返回。 基本输入 首先是一些基本类型的输入 文本输入: age = input("How old are you?", type=NUMBER) 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完成输入将表单提交后,函数返 回用户输入的值。 下面是一些其他类型的输入函数: # 密码输入 password = input("Input return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror 实现代码风格的编辑区,只需使用 code 参数传入 Codemirror 支持的选项即可 (最简单的情况是直接传入 结束后,事件回调也将不起作用,你可 4.1. User’s guide 15 PyWebIO, 发布 1.1.0 以在任务函数末尾处使用pywebio.session.hold() 函数来将会话保持,这样在用户关闭浏览器页面前, 事件回调将一直可用。 输出域 Scope PyWebIO 使用 Scope 模型来对内容输出的位置进行灵活地控制,PyWebIO 的内容输出区可以划分出不同的输 出域,PyWebIO 将输出域称作0 码力 | 98 页 | 1.73 MB | 1 年前3
PyWebIO v0.3.0 使用手册pywebio.input import * 引入。 基本输入 首先是一些基本类型的输入 文本输入: age = input("How old are you?", type=NUMBER) 这样一行代码的效果如下,浏览器会弹出一个文本输入框来获取输入,在表单被提交之前,input 函数不会 返回。 一些其他类型的输入: # 密码输入 password = input("Input password" return 'Too old!!' age = input("How old are you?", type=NUMBER, valid_func=check_age) 当用户输入了不合法的值时,页面上的显示如下: 12 Chapter 4. Documentation PyWebIO, 发布 0.3.0 pywebio.input.textarea() 还支持使用 Codemirror 实现代码风格的编辑区,只需使用 提供的全部输出函数请见pywebio.output 模块 14 Chapter 4. Documentation PyWebIO, 发布 0.3.0 组合输出 put_table() 还支持以 put_xxx 类型的输出函数作为单元格内容: put_table([ ['Type', 'Content'], ['html', 'X2'], ['text', put_text('
')]0 码力 | 70 页 | 1.41 MB | 1 年前3
PyWebIO v1.1.0 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github 数是阻塞式的(和Python内置的 input 一样),在表单被成功提交之前,输入 函数不会返回。 基本输入 首先是一些基本类型的输入 文本输入: 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完 成输入将表单提交后,函数返回用户输入的值。 下面是一些其他类型的输入函数: age = input("How old are you?", type=NUMBER) 输入选项 return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code0 码力 | 119 页 | 7.41 MB | 1 年前3
PyWebIO v1.5.1 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github 数是阻塞式的(和Python内置的 input 一样),在表单被成功提交之前,输入 函数不会返回。 基本输入 首先是一些基本类型的输入。 文本输入: 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完 成输入将表单提交后,函数返回用户输入的值。 下面是一些其他类型的输入函数: age = input("How old are you?", type=NUMBER) 输入选项 return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 中可以使用 code 参数来开启代码风格的编辑区。 以上代码将在浏览器上显示如下: 输入组 PyWebIO支持输入组, 返回结果为一个字典。pywebio0 码力 | 144 页 | 7.46 MB | 1 年前3
PyWebIO v1.5.2 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github 数是阻塞式的(和Python内置的 input 一样),在表单被成功提交之前,输入 函数不会返回。 基本输入 首先是一些基本类型的输入。 文本输入: 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完 成输入将表单提交后,函数返回用户输入的值。 下面是一些其他类型的输入函数: age = input("How old are you?", type=NUMBER) 输入选项 return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 中可以使用 code 参数来开启代码风格的编辑区。 以上代码将在浏览器上显示如下: 输入组 PyWebIO支持输入组, 返回结果为一个字典。pywebio0 码力 | 144 页 | 7.46 MB | 1 年前3
PyWebIO v1.5.0 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github 数是阻塞式的(和Python内置的 input 一样),在表单被成功提交之前,输入 函数不会返回。 基本输入 首先是一些基本类型的输入。 文本输入: 这样一行代码的效果为:浏览器会弹出一个文本输入框来获取输入,在用户完 成输入将表单提交后,函数返回用户输入的值。 下面是一些其他类型的输入函数: age = input("How old are you?", type=NUMBER) 输入选项 return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 中可以使用 code 参数来开启代码风格的编辑区。 以上代码将在浏览器上显示如下: 输入组 PyWebIO支持输入组, 返回结果为一个字典。pywebio0 码力 | 144 页 | 7.46 MB | 1 年前3
共 154 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













