赋值语句

常见的关系运算符(if else和case语句)

会有一股神秘感。 提交于 2019-11-29 10:58:09
写在前面的话 说起关系运算符,真的是满心伤痕,这里有一个优先级的问题:关系运算符的优先级别低于算数运算符的优先级别。 关系运算符种类 (1) a<b a小于b (2) a>b a大于b (3) a<=b a小于或者等于b (4) a>=b a大于或者等于b 关系运算符使用意义 在进行关系运算时,如果申明的关系是假的( false),则返回值是0,如果申明的关系是真的(true),则返回值是1,如果某个操作数的值不定,则关系是模糊的,返回值是不定值。 关系运算符与算数运算符优先级 所有的关系运算符都有着相同的优先级别。关系运算符的优先级别低于算数运算符的优先级别。见下例: //表达意义相同 a<size-1 a<(size-1) //表达意义不同 size-(1<a) size-1<a 当表达式 size-(1<a)进行运算时,关系表达式先被运算,然后返回值0或1被size减去。而表达式size-1<a进行运算时,size先被减去1,然后再同a相比。 if-else 条件分支语句 if-else 条件分支语句的作用是根据指定的判断条件是否满足来确定下一步要执行的操作。它在使用时可以采用如下三种形式: ( 1)if(<条件表达式>) 语句或语句块; 在 if-else 条件语句的这种使用形式中没有出现else项,这种情况下条件分支语句的执行过程是: 如果指定的 <条件表达式>成立

Python之路番外:PYTHON基本数据类型和小知识点

岁酱吖の 提交于 2019-11-29 10:19:41
一、基础小知识点 1、如果一行代码过长,可以用续行符 \ 换行书写 例子 if (signal == "red") and \ (car == "moving"): car = "stop" else : pass    等同于 if (signal == "red") and (car == "moving"): car = "stop" else : pass    2、无需换行符的情况 两种情况: a、小括号、中括号、大括号内部可以多行书写 b、三引号包括下的字符串可以跨行书写 例子 print('''nicholas is a smart boy. When I was just a little boy, I asked my mother, What will I be? Will I be pretty? Will I be rich ?''') 3、一行多语句 用;分隔 例子 x = "Today" ; y = "is" ; z = "Thursday" ; print(x,y,z) 一般不会这样写,除非有很大的联系。 4、在python中,python用相同的缩进表示同级别的语句块。 5、在python中,对变量的名字大小写是敏感的(PI和pi是不同的变量)。 6、尽量不要用下划线开头,下划线对于解释器有特殊的意义,是內建标识符使用的符号,一般会当做私有的。 7

第二章 Python入门

痴心易碎 提交于 2019-11-29 09:38:23
第二章 Python入门 2.1.简介 Python是著名的“龟叔”( Guido van Rossum )在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容, 2.1.1.Python适合开发哪些类型的应用呢? 云计算 机器学习 科学运算 自动化运维 自动化测试 爬虫 数据分析 GUI图形化 Web开发等 2.1.2.Python有哪些缺点呢? 运行速度慢,和C程序相比非常慢,因为Python是解释型语言 代码不能加密。如果要发布你的Python程序,实际上就是发布源代码 2.1.3.python种类 Cpython( 推荐 ) Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 Jyhton Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 IronPython Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) PyPy Python实现的Python

变量结构赋值的用途

北城余情 提交于 2019-11-29 08:30:44
(1)交换变量的值 let x = 1; let y = 2; [x, y] = [y, x]; 上面代码交换变量x和y的值,这样的写法不仅简洁,而且易读,语义非常清晰。 (2)从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。 // 返回一个数组 function example() { return [1, 2, 3]; } let [a, b, c] = example(); // 返回一个对象 function example() { return { foo: 1, bar: 2 }; } let { foo, bar } = example(); (3)函数参数的定义 解构赋值可以方便地将一组参数与变量名对应起来。 // 参数是一组有次序的值 function f([x, y, z]) { ... } f([1, 2, 3]); // 参数是一组无次序的值 function f({x, y, z}) { ... } f({z: 3, y: 2, x: 1}); (4)提取 JSON 数据 解构赋值对提取 JSON 对象中的数据,尤其有用。 let jsonData = { id: 42, status: "OK", data: [867, 5309] }; let { id, status,

函数1——作用域相关

≡放荡痞女 提交于 2019-11-29 06:40:29
函数1——作用域相关 为何使用函数? 减少代码冗余和增加代码的可读性 1.函数的一些概念 def 是可执行的代码。def是一个可执行的语句——函数并不存在,直到函数运行了def 后(函数被调用后)才存在。def语句在模块文件中编写,在模块文件第一次被导入的时候生成定义的函数。 def创建了一个对象并将其赋值给某一变量名(即函数名)。当 运行 到def语句时,它将会生成一个新的函数对象并将其赋值给这个函数名,就像所有的赋值一样,函数名变成了某一函数的引用。 return 将一个结果对象发送给调用者。当函数被调用时,其调用者停止运行直到这个函数完成他的工作,函数才将控制权返回调用者。函数是通过return语句将计算的值传递给调用者的。 yield 向调用者返回一个结果对象,并记住它离开的状态 global 声明一个模块级的变量。 nonloca l声明一个封闭的函数变量。nonlocal语句允许一个函数来赋值一条语法封闭的def语句的作用域中已经有的名称。 2.作用域 ​ python创建、改变或或查找变量名都是在命名空间(一个保存变量名地地方)中进行的。也就是说,在代码中变量名被赋值的位置决定了变量名能被访问到地范围。(在代码中给一个变量赋值的地方决定了这个变量存在与那个命名空间)。 ​ 在默认情况下,一个函数的所有变量名都是与函数命名空间相关联的: 1

ES6学习----let、const、解构赋值、新增字符串、模板字符串、Symbol类型、Proxy、Set

◇◆丶佛笑我妖孽 提交于 2019-11-29 06:38:05
这篇es6的学习笔记来自于表哥 表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 ES6就是JS6,JS的第六个版本,ES可以理解为一个标准,JS可以理解为一个标准的实现。 ES6现在各大浏览器都在全力支持,ES6强大、严谨、简洁。兼容问题可以用一些工具解决,把es6转化成es5,开发时写es6,生产环境跑es5。 1 let命令 1.1作用域 let和var一个功能,但是作用域不同, var可以作为全局变量,和局部变量, let是只要遇到一个代码块,就算作一个域, 例: if(1){ let b=2; console.log("b:",b); } console.log("b:",b); let一般用到for语句中, 例: for(var i=0;i<5;i++){ console.log(i); } console.log("循环外的i:"+i); 其实这里已经不需要i了,这就是用var定义的一个弊端。 如果改成let: for(let i=0;i<5;i++){ console.log(i); } console.log("循环外的i:"+i); 这样更安全了。 1.2 es5的变量提升问题 例1: 只写一句console.log(a); 如果把a定义在下面, console.log

牛客 C++刷题day1

孤街醉人 提交于 2019-11-29 04:59:35
1:数组指针和数组首地址的区别 定义了数组a[4],其中a,&a,&a[0]都是数组的起始地址。但是步长有区别,也就是指向的类型不同 a等同于a+0等同于&a[0],是指向数组第一个元素的指针,步长为指向的元素所占用的地址空间为sizeof(int) 。 &a也是指向数组第一个元素的指针,但其意义是指向整个数组的首地址,指向的类型为整个数组,所以其步长为4*sizeof(int) 2:scanf函数详解 、 格式字符串 格式字符串的一般形式为: %[*][输入数据宽度][长度]类型 其中有方括号[]的项为任选项。各项的意义如下。 1) 类型 表示输入数据的类型,其格式符和意义如下表所示。 格式 字符意义 d 输入十进制整数 o 输入八进制整数 x 输入十六进制整数 u 输入无符号十进制整数 f或e 输入实型数(用小数形式或指数形式) c 输入单个字符 s 输入字符串 2) “*”符 用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如: scanf ( "%d %*d %d" ,&a ,&b ); 当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。 3) 宽度 用十进制整数指定输入的宽度(即字符数)。例如: scanf ( "%5d" ,&a ); 输入12345678只把12345赋予变量a,其余部分被截去。又如: scanf ( "%4d%4d" ,&a ,&b

JavaScript 语法简述

不打扰是莪最后的温柔 提交于 2019-11-29 03:02:38
1、比较运算“==”和“===”区别: “==”比较,他会自动转换数据类型再比较,很多时候会得到非常诡异的结果。 “===”比较,他不会自动转换数据类型,如果数据类型不一致,返回false。如果类型一致,再比较。 “==”比较是JavaScrpit早期语言设计存在设计缺陷只是为了兼容而保留,所以,现在应该尽可能使用“===”,而尽量避免使用“==”。 2、NaN是特殊的数值。 NaN与所有其他值都不相等,包括它自己,所以判断是否为NaN的方法是通过isNaN()函数: NaN === NaN; //false var a = NaN; a === NaN; //false isNaN(a); //true 3、数组索引以0为起始 4、JavaScript对象 var person = { name: 'Bob', age: 20, tags: ['js', 'web', 'mobile'], city: 'Beijing', hasCar: true, zipcode: null }; 访问对象属性使用“对象变量名.属性名”。 5、strict模式:强制要求使用var 申明变量。 在代码第一行写上: 'use strict'; 严格模式为ES5后出现,所以,IE6,7,8,9 均不支持严格模式。 6、字符串可以使用'或者"括起来,如果字符串内同时包含'和"可以用转义字符\来标识。

grub 修复及 AWK用法

时间秒杀一切 提交于 2019-11-29 02:41:12
系统启动和内核管理,各种修复及各种编译 Linux就是个内核。 ldd命令可查到每一个程序依赖的库。 Centos6的启动流程及修复 centos6启动步骤概述 1、上电POST自检,加载BIOS的硬件信息,获取第一个启动设备 2、读取第一个启动设备MBR里的引导加载程序(grub)的启动信息 3、加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备 4、核心执行init程序,并获取默认的运行信息 5、init程序执行/etc/rc.d/rc.sysinit文件 6、启动核心的外挂模块 7、init执行运行的各个批处理文件(scripts) 8、init执行/etc/rc.d/rc.local 9、执行/bin/login程序,等待一会登录 10、登录之后开始以shell控制主机 Bootloader是用来启动操作系统的。实现操作系统的前期引导。 GRUB启动程序是多部份组合而成,其中MBR的前446个字节只是他的第一个阶段。 第二阶段放在了磁盘文件:放在了/boot下的grub文件 内核放在/boot/文件下这就是内核文件 初始化的文件系统:/boot/initramfs - VERSION -release.img 这还是一个打包文件。 :先修改后缀就能解压。 :这个文件的目录和根分区的目录一样。他就是一个缩小版的根。这个文件里面就是一个隐藏版的小内核。 :-

ES6新增常用属性

会有一股神秘感。 提交于 2019-11-29 01:58:14
1.声明变量 let/const let:用来声明变量,类似于var,但是使用let有以下特性: (1).不存在变量提升 eg: // var 的情况 console.log(foo); // 输出undefined var foo = 2; // let 的情况 console.log(bar); // 报错ReferenceError let bar = 2; (2).暂时性死区 eg: var tmp = 123; if (true) { tmp = 'abc'; // ReferenceError let tmp; } (3).不允许重复声明,同一作用域内只能声明一次 eg: // 报错 function func() { let a = 10; var a = 1; } // 报错 function func() { let a = 10; let a = 1; }因此,不能在函数内部重新声明参数。 function func(arg) { let arg; } func() // 报错 function func(arg) { { let arg; } } func() // 不报错 (4).新增的块级作用域 function f1() { let n = 5; if (true) { let n = 10; } console.log(n); // 5