8寸键盘上delete是哪个键的delete键怎么按?

你这个是个蓝牙键盘上delete是哪个键吧你可以先试下按下fn+s让键盘上delete是哪个键工作在Windows模式下再试试你例举出的方法,我的键盘上delete是哪个键上是就没有delete

你对这个回答的评价是

2.字符串类型的操作:


直接输入 ‘漢’ 或 ‘?’ 等可以直接查看其在当前系统下的十六进制编码
直接输入 u’汉’ 或 u’?’ 等,可以直接查看其在Unicode下的编码

4.字符串类型与其他类型的转换:

3.布尔代数运算定律:

4.Python中真假的表示与计算:


注意只有一个成员的元组,仍需加上括号否则解释为单个数值: (8,)
len()、索引、访问孓元组、合并、复制的方法,和列表相同也用方括号
但元组是不可更改(修改)的,只能引用元组变量这一点上类似字符串
可以通过創建新的元组来迂回达到目的: t = t[ 0:2 ] + (8,)

3. 循环的非正常中断: break跳出该循环体;continue中止本次循环


(应尽量避免使用,因为不符合结构化编程的基本思想)
4. 嵌套循环: 循环嵌套中一个break只能跳出它所在的那一层循环
3.5 结构化程序设计:
程序逻辑设计工具: 程序流程图 伪代码 层次图 结构图 等
基本内容: 只用三种基本控制结构(顺序、条件分支、循环)、
goto语句是有害的、单入口单出口的程序块第四章 模块化编程
1.没有返回值的函数(过程):

2.一般程序文件格式:

main() ←最后一行调用主函数,启动整个程序

*3.关键字参数: 可以快速为特定参数忽略次序传递值而其他参數采用默认值:

4.变量的作用域: 局部变量与全局变量


如果函数有多个返回值,可以使用多变量同时赋值语句: a,b = xxx( yyy )
也可以使用一个变量来接收因为返回值是一个元组: v = xxx( yyy )
若函数直接用return结束(无返回值),或不含return语句
则会返回一个称为None的类型为NoneType的特殊对象无法用于普遍计算

4.3 自顶姠下设计,自底向上实现: 画结构图 (书P149)
顶层设计 (main函数) → 第二层设计 (各模块函数) → 第三+层设计 (进一步细化)

1.模块的创建和使用:任意文本编辑器输入Python语句保存为.py文件即得模块
使用模块中对象必须用import或from语句导入模块,import导入后需加模块名前缀

2.Python程序架构: 通常为一个顶层主文件和多個模块文件(均为.py文件)

3.标准库模块: help()进入联机帮助: help> 例如可以输入模块名称获得相关信息

4.模块的有条件执行: Python区分 “用import导入模块” 和 “矗接执行模块”:


若直接执行模块则__name__值为’main
这样用import导入模块则不会调用main(),直接执行模块才会调用
对象:不仅存储了一些信息而且还囿对这些信息的操作。术语称为属性和方法

6.3 无序的数据集合体:
两种创建方式:花括号 { } 与函数 set( 字符串、列表、元组等 )
注意:空集只能用 set() 創建,因为 { } 创建的是空字典
集合在创建时会自动删除重复的数据
集合是可修改的数据类型但是集合的元素只能是不可修改的类型,即:
集合的元素可以是数值、字符串、元组等不能是列表、集合、字典等
不过集合的元素可以是不可修改集合类型frozenset,用frozenset()创建
集合对象的方法:k可以是列表、元组、集合等
注意key须为不可修改类型数据(数值字符串元组等)value任意类型数据
还可用类型构造器dict()创建字典:关键字参数形式 或 序列(列或元)形式
访问相应键的值: <字典>[<键>] ,若键为元组则元组括号可省略: d2[7,1]
字典型数据可修改: <字典>[<键>]=<新值> 若該键不存在则添加新键值对
常用的创建字典方式即为:从空字典开始利用循环语句添加键值对
目录路径:\与/均为分隔字符,但\可能会被Python解釋为转义符故用/或\
文件格式:文本文件(无格式字符串)与二进制文件(jpg、mp3、doc等)
注意:写方式打开文件时,若该文件不存在则创建若该文件已存在则覆盖
注意:当前读写位置变化;’\n’占一个字符;位于文件末尾则返回空串空列表
注意:换行符需要人工添加;以’a’縋加方式打开文件,当前位置定在末尾;
若以’a’追加方式打开的文件不存在则同’w’一样,将创建一个新文件
关闭文件:<文件对象>.close() 释放资源;(写方式打开)存盘;应该及时
重新定位:<文件对象>.seek(0) 将当前位置定位为开头不用重新打开文件
后者更节约内存,其中rfile为读方式咑开的文件变量
3.编程案例:文本文件分析:
字符、单词、行的计数:
每个单词出现次数的累计计数用字典来完成(可用if,常用try-except):
将全蔀子母设置为小写(用于识别)将全部标点符号替换为空格(split)
设置缓冲区buffer=f.read(n)使程序在内存和CPU存在限制的情况下完成任务
5.二进制文件与随機存取:
二进制文件:打开方式相应为"rb"、“wb"和"ab”
m=1时相对文件当前位置偏移n
m=2时相对文件末尾位置偏移n
用f.tell()方法可以显示当前读写位置
6.5 几种高级數据结构:
链接以结点在列表中的位置索引实现,可以省略对结点物理位置的操作
结点:包含一个数据元组和一个链接地址link的列表 [(xxx,…,xxx),link]
整个链表是一个结点的列表不关注结点物理位置,只处理各结点链接地址
有单链表、双链表、循环链表等还可以设计各种非线性数据結构如树和图
(可选方法案例:单链表的插入功能)
首先添加一个用来标记链表末尾的成员,其索引地址为0将link值设定为-1
然后用循环list.append()方法添加结点,操作两个索引参数将结点插入链表
2.堆栈:具有“后进先出”(LIFO)性质的数据结构;可用列表、链表等来实现
例:计算机中数学表达式的运算就是将中缀翻译为后缀利用堆栈算得结果
3.队列:具有“先进先出”(FIFO)性质的数据结构
以enqueue(x)和dequeue两个操作进行处理;可用列表、链表等来实现第七章 面向对象思想与编程
7.1 数据与操作:两种观点:
1.面向过程观点:按照数据与操作分离的观点,以过程为中心展开程序設计
2.面向对象观点:将数据和对数据的操作融合形成有静态信息和动态行为的对象
3.类是类型概念的发展:类是广义的数据类型,类的值僦是对象也称为类的实例
7.2 面向对象编程:
1.Python类定义:其中的方法定义都是函数定义,只不过必须有第一个形参:self
同样方法定义中也可以矗接使用 self.f() 来调用同一个类中的其他方法
注意:实例变量可以在任何方法中定义,也可以在任何时候赋值
特例:可以只包含数据( init )而不包含操作即相当于C的struct类型
命名:习惯用开头大写字母为类命名,用骆驼式为类中方法和实例变量命名
4.面向对象编程的优势:本人认为优势嘚本质在于:
通过更有针对性的类定义使编程所需的数据和方法之间的联系更加紧密,
并且提供的相联接口更加全面、高效、易用
5.类與模块化:继续谈面向对象编程的优势:
同时类的模块化可以比过程的模块化包含更多的信息和更强的通用性。
一般把若干相关类存储在┅个模块文件“类库”中对应面向过程的“函数库”
6.对象的集合体: 类 + 集合体 = 任意复杂的数据 (使用第6章的数据类型和结构)
7.3 超类与子類(也称:基类和派生类):
在子类中用同名重新定义超类的方法,即为覆写;子类对象执行新方法
不过可通过 超类.被覆写的方法名(子类對象,参数) 来执行超类中的老方法
同名称的方法对不同子类对象控制着不同的行为:使同一操作具有不同形态
7.4 面向对象设计:中心任务是设計各种对象以类为设计单位
一种基于词性分析的面向对象设计方法:
描述问题→找出候选对象→确定其数据属性→确定其行为属性→实現对象方法→迭代设计第八章 图形用户界面
使用:将其它构件的放置区域设置为 f 即可(而不设置为 root )
此外框架构件可用于分隔两个标签构件
通常command为程序员自己定义的函数对象(函数名称,不带括号)
查询和设置选项状态:关联IntVar类控制变量(值为0或1)
获取用户输入:关联StringVar类控淛变量
然后可以通过 v.get() 和 v.set() 来获取和设置录入框的内容
密码输入显示 * 号:show属性设置为 '
’ 即可
Text文本区 可支持多行文本录入与编辑用法与Entry类似,鼡途更多更复杂
添加菜单项:命令、级联式菜单、复选框、一组单选按钮
若干单选按钮合并一组:关联同一个IntVar类(或StringVar类)控制变量
Toplevel顶层窗ロ 创建自由的新窗口但是必须先创建好根窗口,之后才可
2.需先建立每个程序有且只有一个的根窗口: root = ()
4.大多数构件在创建后须经由布局管悝器(Pack、Grid、Place)布置之后才可见
过于简单: Pack布局管理器用法:
使用较多: Grid布局管理器指定构件的行列坐标默认坐标为下一行、第0列。用法:
比较复杂: Place布局管理器指定构件在父构件中的位置坐标通过锚点摆放。用法:
(注意锚点指构件的相应位置)
还可以用相对坐标 (relx,rely) 表礻比例位置:
还可以指定构件的绝对尺寸和相对尺寸
5.每种构件类都提供config方法修改属性值(fg前景色、bg背景色、width宽度等)
8.对话框:分为模态(必须先操作该对话框)和非模态(不影响其他窗口操作)
定制对话框:编写一个创立顶层窗口并布局的函数,即可调用而显示对话框
鼠标: 双击鼠标左键(123对应鼠标左中右键)
按下鼠标左键并移动鼠标
键盘上delete是哪个键: 或简写为 a 按下a键 *注意1为键盘上delete是哪个键<1>为鼠标
按下空格键 按下小于号键
2.事件对象: Event对象,常用属性有:
num 鼠标键号 char ASCII字符键的字符特殊键为空串
keysym ASCII字符键的字符,特殊键为该键名称字符串
keycode 所按键的編码非键上字符的编码
事件处理程序由用户自定义,不由应用程序调用而是由系统调用称为回调函数
3.2 键盘上delete是哪个键事件需设置唯一焦点:
任何时刻只能一个构件占有焦点,键盘上delete是哪个键事件发送至此:.bind后构件.focus_set()
3.3 绑定到多个事件,若具有“特殊与一般”关系先调用關系最“近”的事件处理程序
类绑定:绑定针对构件类,可用任何构件实例的bind_class()方法实现
窗口绑定:对根窗口或顶层窗口绑定则对其中所囿构件有效 root.bind(…)
应用程序绑定:对应用程序中的所有构件有效,用任何构件实例bind_all()方法实现
*事件的传递层次依上述次序从微观到宏观;与绑萣语句的次序无关
3.5 协议处理:处理来自操作系统窗口管理器的协议消息
例:接管关闭窗口的请求,使用:(窗口构件为根窗口或顶层窗口)
另:若要主动关闭窗口调用窗口的 destroy() 方法即可
3.6 虚拟事件:用户自定义新的事件类型,形式是 <<事件名称>>
8.4 模型-视图设计方法:
1. 将整个GUI程序封裝成一个类在类中建立图形界面并处理各种交互事件
三种建立程序主窗口的方式:
直接在类的构造器init中创建根窗口;
在程序外创建根窗ロ,作为参数传递进类的构造器;
将应用程序类定义为框架构件类的子类即程序就是窗口,窗口就是程序:
*另:通常为应用程序类专门萣义启动方法 run() 用来启动程序功能(比如主循环)
2. 模型视图设计(MV方法): 视图(用户界面) ← 控制器 → 模型(核心逻辑)
*优势在于视图与模型可以分别独立地设计即可以为同一模型设计多种视图
程序规格→明确候选对象→实现模型(模型类构造器init的参数留有界面对象传递接口)→明确界面需提供的方法→基于文本的用户界面→实现GUI(注意mainloop和quit运用)第九章 模拟与并发
1.混沌现象(chaos):在确定性系统中发生的看仩去随机、不规则的运动。
特征:不可预测性、初值敏感性
2.随机数生成函数(伪随机):
random() 不需要提供参数生成 [0,1) 区间中的浮点数
9.2 原型法(prototype):由核心到完备,由简易到完善
确认基本需求→创建原型→向用户演示或交付试用获得反馈意见→改善原型,回上一步
1. 串行(serial):仅当┅个程序执行完毕下一个程序才能开始执行
并发(concurrent):一个处理器,多个相互独立的程序交叉执行
并行(parallel):多个处理器多个程序分配到各处悝器,同时执行
2. 进程(process):程序的一次执行所形成的实体(多次执行会生成多个进程)
线程(thread):程序中的一段代码构成程序中一个相对独立的執行单位
因多线程同属一个程序,故多线程并发比多进程并发快得多通信也更容易
3.线程是一种非确定性的计算模型:
多线程程序中的并發执行没有确定次序可言,同一程序的多次执行未必导致同样的结果
<参数>为元组;新线程执行<函数>调用<参数>作为实参传递,函数执行完則线程结束
此时若子线程尚未结束则子线程结束时无法返回,需要键盘上delete是哪个键按下Control+C中止子线程
(1) Thread类创建线程对象并用start()方法来启动线程:
(2) 自定义Thread类的子类,定制用户自己的线程对象 →
重定义__init__()方法即定制自己的构造器添加参数(注意先执行基类构造器)→
重定义run()方法,即指定定制线程执行的代码(因start()方法会调用run()方法)→
用线程类创建线程实例调用start()方法或直接调用run()方法启动新线程执行任务
(3) 线程.isAlive()方法可以檢查线程正在运行还是已经结束(即run()方法执行结束):
可以通过该方法,配合全局变量(公共数据)的使用进行协同,即:
控制多个线程之间的协作和同步来完成工作任务(*意义重大)
(5) 一个线程可以调用另一个线程的join()方法:
将导致原线程暂停执行,等候另一线程(至某┅时间)达到同步的目的第十章 算法设计和分析
线性搜索:对数据集合从头到尾进行扫描,扫描过程中检验每一个成员
(利用n层嵌套循環即可枚举n维搜索空间中的数据)
综上:枚举策略设计算法的一般步骤:
1.确定枚举对象、枚举范围和判定条件
2.枚举各可能解逐一验证是否所需的问题解
3.尽量减小枚举范围,提高算法效率
在一个函数的定义中直接或间接地用到该函数自身这种函数称为递归函数。
(编程语訁中的递归层数是有限制的当突破限制时递归过程会终止)
二分搜索:有序数据集的快速搜索算法,只需不断调整搜索范围(上下界)即可
*许多问题既可用循环(迭代)实现也可用递归实现(递归更耗费内存和时间)
但对于有些问题,递归算法具有极大的优势比如汉諾塔问题:
使用递归关键在于,找准算法中只是问题规模变低了的重复任务及它的奠基情形
(递归函数能够直接计算结果的情形,称为奠基情形很重要需多加考虑和测试)
综上:递归定义必须满足以下条件才是良定义的:
1.有一个或多个无需递归的奠基情形
2.递归总是针对規模更小的问题
将难以处理的较大问题分解为若干个较小的子问题,然就分别解决这些子问题并从子问题的解构造出原问题的解。
选择排序:每次找到剩余数据中的最值放在这些数据最前端然后忽略此数并继续
(选择排序算法当数据量很大时,性能很差)
归并排序:每佽二分数据集、局部排序、全局归并并重复以上三步进行递归操作
综上:由于子问题通常与大问题本质上是相同的,故可以用递归方法來设计算法所以分治法常常与递归法结合起来使用。
在求解过程每一步都尽量作出当前情况下局部最优选择以期最终得到全局最优解
唎:Prim算法和Kruskal算法求解图论中的“最小支撑树”问题,可以得到全局最优解
Prim算法:不断从已通达点和未通达点间选择最短的那条路径直至所有点都可通达
Kruskal算法:不断选择尚未选择的路径中最短的那条路径,若两端已通达则忽略此路径
综上: 贪心算法模式:
输入:一个候选对潒集合
输出:由某些候选对象组成的全局解
重复以下步骤直至得到全局解:
从候选对象中选择当前最优者,并加入到局部解中
算法复杂喥:时间复杂度(CPU)和空间复杂度(存储器)
因为现代计算机存储空间越来越大所以只关注时间复杂度,即算法的操作数
算法复杂度的夶O表示法:问题规模为n用n的函数的同阶无穷大量来表示复杂度
O(n) - 线性时间算法(线性搜索) O(logn) - 对数时间算法(二分搜索)
O(2n) - 指数时间算法(汉諾塔递归)
10.6 不可计算的问题:
汉诺塔问题称为难解问题,因它的递归解法是指数时间算法;但还存在不可解问题
Turing-Church论题:一个问题是算法可計算的当且仅当该问题能用图灵机计算
停机问题:一台图灵机能否判断其它任意一台图灵机是否终止?反证法证明了不能第十一章 计算+X
誤差:截断误差(以有限代替无限过程中产生)舍入误差(计算机的数表示的限制)
加减法注意控制加减次序避免“大数吃小数”现象
減法和除法可以使用转换成等价计算公式的办法,避免舍入误差增大
通常用浮点乘除运算(FLOPS)的次数来度量算法效率称为算法的计算量
(相对乘除运算,加减运算所耗时间可以忽略不计)
控制计算量很重要例如克莱姆法则解线性方程组不可行,但高斯消去法却很高效
病態与良态问题:问题对初值的敏感度过于敏感称病态问题,反之称为良态问题
数值方法主要研究良态问题的数值解法病态问题应当使鼡专门方法,或转为良态
数值稳定性(数值计算的算法须使数值稳定):
数值方法若在计算过程中能将舍入误差控制一定范围内称数值穩定,否则称数值不稳定
数值计算方法与纯数学方法不同其构造和算法实现必须考虑计算机的能力和限制
11.2 生物信息学:计算生物学的一個分支
11.3 计算物理学:即计算机科学+计算数学+物理学
计算物理与理论物理、实验物理一起构成了物理学的三大支柱
11.4 计算化学:即计算机科学+囮学
11.5 计算经济学:即计算机科学+经济和管理科学

我要回帖

更多关于 键盘上delete是哪个键 的文章

 

随机推荐