嵌套

第十九章 一般控制问题

你。 提交于 2019-11-30 05:38:05
布尔表达式 用 ture 和 false 做布尔判断; 隐式地比较布尔值与 true 和 false ; 简化复杂的表达式; 拆分复杂的判断并引入新的布尔变量; 把复杂的表达式做成布尔函数; 用决策代替复杂的条件; 编写肯定性质的布尔表达式; 在 if 语句中,把判断条件从否定形式转换为肯定形式,并且互换 if 和 else 子句中的代码; 用狄摩根定理简化否定的布尔判断; 用括号使布尔表达式更清晰; 用一种简单的计数技巧来世括号对称; 理解布尔表达式是如何求值的; 按照数轴的顺序编写数值表达式; 与0比较的指导原则; 隐式地比较逻辑变量; 把数和0相比较; 在C中显式地比较字符和零终止符(`\0`); 把指针与 NULL 相比较; 布尔表达式常见问题; 在C家族语言中,应该把常量放在比较的左端; 在C++中,可以考虑创建预处理宏来替换&&,||和==; 复合语句(语句块) 复合语句指的是一组语句,该组语句被视为一条单一的语句,用于控制程序流。符合语句使用指导原则: 把括号对一起写出; 用括号来把条件表达清楚。 空语句 空语句即一条仅含分号的语句。 小心使用空语句; 为空语句创建一个 DoNothing() 预处理宏或者内联函数; 考虑如果换用一个非空的循环体,是否会让代码更清晰。 驯服危险的深层嵌套 深层嵌套与软件首要技术使命——管理复杂度——是相违背的。

函数基础-08函数嵌套

北城余情 提交于 2019-11-30 03:40:30
一丶函数的嵌套定义 函数内部定义的函数,无法在函数外部使用内部定义的函数。 def f1(): def f2(): print('from f2') f2() f2() # NameError: name 'f2' is not defined def f1(): def f2(): print('from f2') f2() f1() from f2 有一个需求,通过给一个函数传参即可求得某个圆的面积或者圆的周长: 列子: from math import pi def circle(radius, action='area'): def area(): return pi * (radius**2) def perimeter(): return 2*pi*radius if action == 'area': return area() else: return perimeter() print(f"circle(10): {circle(10)}") print(f"circle(10,action='perimeter'): {circle(10,action='perimeter')}") circle(10): 314.1592653589793 circle(10,action='perimeter'): 62.83185307179586 二丶函数的嵌套定义

SpringBoot之spring-boot-load模块

≡放荡痞女 提交于 2019-11-30 01:24:30
一、前言 正常情况下classloader只能找到jar里面当前目录或者文件类里面的*.class文件。为了能够加载嵌套jar里面的资源之前都是把嵌套jar里面的class文件和应用的class文件打包为一个jar,这样就不存在嵌套jar了,但是这样做就不能很清晰的知道应用到底依赖了哪些东西,哪些是应用自己的,另外多个jar里面的class可能内容不一样但是文件名却一样。springboot中spring-boot-loader就是为优雅解决这个问题而诞生的。 spring-boot-loader模块允许我们使用java -jar archive.jar运行包含嵌套依赖jar的jar或者war文件,它提供了三种类启动器 (JarLauncher, WarLauncher and PropertiesLauncher),这些类启动器的目的一样都是为了能够加载嵌套在jar里面的资源(比如class文件,配置文件等)。[Jar|War]Launcher固定去查找当前jar的lib目录里面的嵌套jar文件里面的资源。 二、spring-boot-loader模块提供的jar目录结构 Springboot中jar文件格式固定如下: archive.jar | +-META-INF(1) | +-MANIFEST.MF +-org( 2 ) | +-springframework | +

html

蓝咒 提交于 2019-11-30 00:50:30
阅读目录 web标准介绍 浏览器介绍 开发工具介绍 html介绍 html规范 html结构 html颜色 html标签 html特殊字符 回到顶部 web标准介绍 web标准: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web标准规范的分类:结构标准、表现标准、行为标准。 结构:html。表示:css。行为:Javascript。 总结说明: 结构标准:相当于人的骨架。html就是用来制作网页的。 表现标准: 相当于人的衣服。css就是对网页进行美化的。 行为标准: 相当于人的动作。JS就是让网页动起来,具有生命力的  如果大家还不明白,请看下图 回到顶部 浏览器介绍 浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、猎豹浏览器、Safari和Opera等 浏览器内核 : 浏览器  内核 IE trident chrome blink 火狐 gecko Safari webkit PS:「浏览器内核」也就是浏览器所采用的「渲染引擎」,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。 总结:渲染引擎是兼容性问题出现的根本原因。 回到顶部 开发工具介绍 Sublime Text的使用 Sublime Text使用技巧 Visual Studio Code编辑器 WebStorm

CSS 计数器详解

余生颓废 提交于 2019-11-29 19:36:24
在前端开发中总少不了列表项,对于列表项序号,射鸡师一般会列出个1,2,3...序号。在不了解css计数器属性之前,我一般会用精灵图,用类名来区分序列号图片。这样做尽管可以达到目的,但是很不方便,开发过程耗时较长而且维护修改起来较困难。用css counter配合伪类的content完美的解决了这个问题,这里详细介绍下css counter属性 计数器属性介绍 计数器的值通过使用counter-reset 和 counter-increment 操作,在 content 上应用 counter() 或 counters()函数来显示在页面上。 counter-reset 设置计数器的名称和起始值 Name:counter-reset Value: [ <custom-ident> <integer>? ]+ | none Initial: none Applies to: all elements Inherited: no Percentages: n/a Computed value: the keyword none or a list, each item an identifier paired with an integer Canonical order: per grammar Animation type: by computed value type custom

CSS关于流式布局

ぃ、小莉子 提交于 2019-11-29 16:22:54
关于float。 一般情况,使用float能使所在的div层 悬浮于 当前所在页面的上方(比如第一层图); 使用clear能消除这种悬浮效果。(比如第二层图) 注意: 使用float后,嵌套的两个div层只会随float而改变。 (1)外层有float,下层没有,外层元素效果的 宽 随内层变,高随外层变。处于同一层。(外层有float和两层都有float的区别?) (2)外层没有,内层有float,内层元素悬浮,元素效果随各自层改变,处于不同层。 (3)内层外层都有float(或都没有float),内层元素效果都是在外层元素效果上,处于同一层。 小结:设置div层居中。 两个嵌套层,外层只设颜色即可;内层设置 宽高, 内层设置margin:auto属性;内层会把外层撑开,实现居中效果。 (必须两个嵌套层处于同一层中。) 来源: http://www.cnblogs.com/xianshui/p/4439908.html

防止IFRAME页被嵌套

不羁的心 提交于 2019-11-29 15:58:24
防止IFRAME页被嵌套 // 最大化窗口,防止窗口嵌套 if (parent.location != window.location){ parent.location = window.location; } 来自:http://user.qzone.qq.com/526605799/blog/1397193941 转载于:https://my.oschina.net/u/1590001/blog/268209 来源: https://blog.csdn.net/cheshifei3571/article/details/100849056

自学Python编程的第四天----------来自苦逼的转行人

限于喜欢 提交于 2019-11-29 15:02:10
2019-09-14  21:15:24 今天是学习Python的第四天,也是写博客的第四天 今天的内容是有关'列表'、'元组'、'range'的用法 列表:增删改查、列表的嵌套 元组:元组的嵌套 range:range的具体用法 好了,进行日常的记录.加油! ======我======是======一======条======快======乐======的======分======割======线 一.重要知识点 1. list(增删改查) 列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开 列表和字符串一样.也有索引和切片 常用的功能: 1. 增: append() 2. 删:remove() 3. 改: 索引修改 4. 查: for循环 常用方法: 1. len() 2. count() 3. sort() 排序 2. list的嵌套 降维操作 3. tuple 元组 当元组只有一个元素是要使用一个逗号,不然不是元组 不可变的列表. 只读列表. 有索引和切片. 不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的. 4. range() 数数 有一个参数:结束为止 两个参数: 1. 起始位置, 2.结束位置 三个参数: 1. 起始位置, 2. 结束位置. 3.步长二.错误总结 1.continue的作用 # 11.写代码

装饰器|高阶函数|嵌套函数|闭包

和自甴很熟 提交于 2019-11-29 10:17:17
摘要: 本质:装饰器本质是函数 功能:为函数添加附加功能 原则: 1.不修改源代码 2.不改变原函数调用方式 构成:高阶函数+嵌套函数+闭包 高阶函数定义: 1.函数接收的参数是一个函数名 2.函数的返回值是一个函数名 3.满足上诉条件任意一个,就是告诫函数 ''' #高阶函数之接收参数是一个函数 def foo(): print('接受的参数是一个函数名') def test(func): ##这是高阶函数 print(func) ##<function foo at 0x00000193D739C2F0>函数内存地址 func() test(foo) ##高阶函数之返回值是一个函数名 def foo1(): print('返回一个函数名') def test1(func): return func res = test1(foo1) print(res) ##函数内存地址:<function foo1 at 0x0000021248747400> res() ##加括号就可以调用函数 ##函数即变量,可以进行赋值;增加功能不改变调用方式的原理 def foo2(): print('返回一个函数名') def test2(func): return func foo2 = test2(foo2) print(foo2) foo2() 高阶函数 ##增加功能,但不改变调用方式

定时器和计时器

心已入冬 提交于 2019-11-29 10:15:35
调度:setTimeout和setInterval 我们可能决定不立即执行某个功能,但在某个时间之后执行。 这叫做“安排一个电话”。 它有两种方法: setTimeout 允许我们在一段时间后运行一次函数。 setInterval 允许我们重复运行一个函数,从时间间隔开始,然后以该间隔连续重复。 这些方法不是JavaScript规范的一部分。 但是大多数环境都有内部调度程序并提供这些方法。 特别是,它们在所有浏览器和Node.js中都受支持。 的setTimeout 语法: let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...) 参数: func|code 函数或要执行的代码串。 通常,这是一个功能。 由于历史原因,可以传递一串代码,但不建议这样做。 delay 运行前的延迟,以毫秒(1000毫秒= 1秒)为单位,默认为0。 arg1 , arg2 ... 该函数的参数(IE9中不支持) 例如,此代码 sayHi() 在一秒后 调用 : function sayHi() { alert('Hello'); } setTimeout(sayHi, 1000); 有参数: function sayHi(phrase, who) { alert( phrase + ', ' + who ); }