赋值

python 算数运算符&赋值运算符

北城余情 提交于 2020-03-08 21:58:28
1. Python算数运算符 符号 作用 说明 + 加 计算两个数的和 - 减 计算两个数的差 * 乘 计算两个数的乘积 / 除 计算两个数的商 // 整除 两个整数相除后,取结果的整数部分 % 取余 两个整数相除后,取结果的余数部分 ** 乘方 计算a的b次方 1.1 算数运算优先级 乘方 > 乘、除、整除、取余 > 加、减 相同等级的运算顺序为从左到右 可以使用括号改变运算顺序 1.2 注意事项 整数除整数,运算结果为小数 2. Python赋值运算符 符号 作用 说明 = 赋值 z=q, 将q的值赋值给z += 加后赋值 z+=q, 将z+q的值赋值给z -= 减后赋值 z-=q,将z-q的值赋值给z * = 乘后赋值 z*=q,将z* q的值赋值给z /= 除后赋值 z/=q,将z/q的值赋值给z //= 整除后赋值 z//=q,将z//q的值赋值给z %= 取余后赋值 z%=q,将z%q的值赋值给z ** = 次方后赋值 z**=q,将z** q的值赋值给z 2.1 注意事项 基本赋值运算操作(=),左侧只能是变量,右侧可以是任意数据或变量 特殊赋值运算的左侧只能是变量,右侧可以是变量,也可以是数字 来源: oschina 链接: https://my.oschina.net/u/4284277/blog/3190233

运算符先后级

ぃ、小莉子 提交于 2020-03-08 16:57:26
口诀:单目乘除为关系,逻辑三目后赋值。 单目:单目运算符+ –(负数) ++ -- 等 乘除:算数单目运算符* / % + - 为:位移单目运算符<< >> 关系:关系单目运算符> < >= <= == != 逻辑:逻辑单目运算符&& || & | ^ 三目:三目单目运算符A > B ? X : Y 后:无意义,仅仅为了凑字数 赋值:赋值= 来源: 51CTO 作者: loserone 链接: https://blog.51cto.com/11585002/2476385

C++:移动构造函数和移动赋值运算符

南笙酒味 提交于 2020-03-08 13:53:49
与拷贝构造函数不同,移动构造函数不分配任何新内存;它接管给定的StrVec中的内存。在接管内存之后,它将给定对象中的指针都置为nullptr。这样就完成了从给的对象的移动操作,此对象将继续存在。最终,移后源对象会被销毁。 //移动构造函数 StrVec::StrVec(StrVec &&s) noexcept:elements(s.elements), first_free(s.first_free), cap(s.cap){ s.elements = nullptr; s.first_free = nullptr; s.cap = nullptr; } 移动赋值运算符执行与析构函数和移动构造函数相同的工作。类似拷贝赋值运算符,移动赋值运算符必须正确处理自赋值。 //移动赋值运算符 StrVec& StrVec::operator=(StrVec &&rhs) noexcept{ //直接检测自赋值:检测this指针与rhs的地址是否相同 if(this != &rhs){ free(); //释放已有元素 elements = rhs.elements; //从rhs接管资源 first_free = rhs.first_free; cap = rhs.cap; //将rhs置为可析构状态 rhs.elements = rhs.first_free = rhs.cap =

Effective C++ 学习笔记

别等时光非礼了梦想. 提交于 2020-03-08 13:46:07
1. 基础部分 Item 1: View C++ as a federation of languages. 对于内建类型,按值传递优于按引用传递,对于自定义类型则相反。 C++可视为4中子语言的联合:C,Object-Oriented C++,Template C++和STL。 Item 2: Prefer consts, enums, and inlines to #defines. 只有整型常量可以在类声明里面初始化: class Klass { const static int num = 1 ; //也可只声明,在定义文件中,即类外部定义、初始化; }; enum类型也可以在类内部初始化。 Item 3: Use const whenever possible. 对于指针p,const在 * 左边时,p指向的值为常量,const出现在 * 右边时,p指向的地址为常量。 const int * p1 ; int const * p2 ; int * const p3 ; ​ //以上代码,p1和p2一样,其指向的值为常量;p3指向的地址为常量 如果类Klass有同名的两个成员函数foo,其中一个为const类型,那么const实列优先调用const版的foo。 const函数不能改变非static的成员变量。 mutable修饰的成员,在const函数中也可以改变其值。

结构体

本小妞迷上赌 提交于 2020-03-08 12:16:12
结构体 一、结构体类型与结构体变量的定义 使用结构体表示数据: 1.定义结构体类型 2.定义结构体类型的变量 3.引用结构体变量的各成员变量 相比简单的变量的定义,这一过程需要先自定义结构体类型。 注: 1.结构定义并不预留内存,它只是一个模板 2.结构定义放置在程序的开始部分,位于头文件声明之后。 3结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。 定义结构之后,声明变量。 声明变量的形式: ①先定义结构,再声明结构变量: struct student { int num ; char name [ 20 ] ; float score ; } ; struct student student1 , student2 ; ②在定义结构类型的同时声明结构变量: struct student { int num ; char name [ 20 ] ; float score ; } ; student1 , student2 ; ③直接声明结构变量: struct { int num ; char name [ 20 ] ; float score ; } ; student1 , student2 ; 嵌套结构及引用: 结构体类型的成员也可以是另一个结构体类型 二、结构体类型变量成员的引用 引用结构体类型变量成员的一般形式: 结构体类型变量名.成员名--

ES6解构赋值

不想你离开。 提交于 2020-03-08 01:51:46
前面的话   我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新特性:解构。解构是一种打破数据结构,将其拆分为更小部分的过程。本文将详细介绍ES6解构赋值 引入   在ES5中,开发者们为了从对象和数组中获取特定数据并赋值给变量,编写了许多看起来同质化的代码 let options = { repeat: true, save: false }; // 从对象中提取数据 let repeat = options.repeat, save = options.save;   这段代码从options对象中提取repeat和save的值,并将其存储为同名局部变量,提取的过程极为相似   如果要提取更多变量,则必须依次编写类似的代码来为变量赋值,如果其中还包含嵌套结构,只靠遍历是找不到真实信息的,必须要深入挖掘整个数据结构才能找到所需数据   所以ES6添加了解构功能,将数据结构打散的过程变得更加简单,可以从打散后更小的部分中获取所需信息 对象解构   对象字面量的语法形式是在一个赋值操作符左边放置一个对象字面量 let node = { type: "Identifier", name: "foo" }; let { type, name } = node; console.log(type); // "Identifier"

计算机编程及常用术语英语词汇大全

北城余情 提交于 2020-03-07 16:24:43
第一部分、计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 Set Data Structures 集合 Kd-Trees 线段树 Numerical Problems 数值问题 Solving Linear Equations 线性方程组 Bandwidth Reduction 带宽压缩 Matrix Multiplication 矩阵乘法 Determinants and Permanents 行列式 Constrained and Unconstrained Optimization 最值问题 Linear Programming 线性规划 Random Number Generation 随机数生成 Factoring and Primality Testing 因子分解/质数判定 Arbitrary Precision Arithmetic 高精度计算 Knapsack Problem 背包问题 Discrete Fourier Transform 离散Fourier变换 Combinatorial Problems 组合问题 Sorting 排序 Searching 查找 Median and Selection 中位数

Vue响应式原理踩坑

旧巷老猫 提交于 2020-03-07 13:56:04
同事遇到了一个视图层未更新的问题,操作是onLoad时从store中取出storeList,对storeList forEach操作新增属性 a,然后将更改后的storeList赋值给该组件data中的 dataList。 经检查 最后dataList中的a属性,没有setter,初以为在赋值操作时 触发 dataList的setter 后 应该重新响应式被赋值的数据,但结果没有。 思考了会,觉得是dataList只是对storeList的引用,所以要对源数据 storeList进行 $set(storeList, 'a', false)。 吃完午饭才意识到跟 引用没有半毛钱关系,既然dataList有setter了 就会重新响应式赋值 切断引用。根本原因是因为 store中拿出的storeList 已经是一个响应式数据了(在某个时机保存的),先前学vue源码时 提到,响应式时 会对每个对象包括数组 添加一个 __ob__ 属性 返回的是当前observer实例, 当触发setter的时候 要去走响应式的方法了,接着判断 这个属性有没有被响应式过(即有无__ob__ 属性),如果有的话就原样返回,没有的话就响应式普通属性再返回。 所以这里要先对源数据$set, 再赋值。 最后总结下会触发响应式的几种操作,对属性赋值,数组push pop splice等一系列操作

js基础的介绍及变量

馋奶兔 提交于 2020-03-07 07:06:17
js介绍 Js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言。 Js作者是布兰登艾奇。 前台语言:运行在客户端的 后台语言:跟数据库有关的。 能干什么? 页面特效,开发页面游戏,后台开发等等。 js和ECMAscript的关系 ES不是语言,是js的标准,我们学习js得按es的标准学习。 前端的三个层次 Html 结构层 Css 表现层 Js 行为层 Js写在哪里 因为js和php都是脚本语言,js写在script这个标签里,php写在<?php>标签里。 B 变量 变量:可以改变的量,往往用英文字母代替变量,并且区分大小写。 变量的定义(声明): var 加 字母 var a 我声明了一个变量叫a 变量的用途:变量其实是一个容器,起到临时存储数据的作用。 通过=进行赋值。 var a=12; js语言的输出 alert() 这是js中的一个方法 弹出框 console.log() 浏览器控制台输出,用于代码测试 document.write() 在浏览器中写出 js的注释 (1) 单行注释 // (2) 多行注释 /* 内容 */ 常量 不变的量 汉字 数字 往往当做值使用。除了数字之外 要带引号”” ‘’ 红色的报错,说雅宁是一个变量,但是这个变量没有声明。 说明有这个变量,但是没有赋值。 变量起名的规则:不能使用汉字 区分大小写

js第一天

白昼怎懂夜的黑 提交于 2020-03-07 07:05:26
1.JS介绍 全称叫JavaScript,但不是Java,js是一门前台语言,而Java是后台语言。 js的作者是 布兰登 . 艾奇 前台语言:运行在客户端的 后台语言:跟数据库有关 2.JS可以干什么? 页面特效,开发页面游戏,后台开发等等。 3.JS和ECMAScript之间的关系 ES不是语言,是js的标准,我们学习js得按ES的标准学习 4.前端的三个层次 html 结构层 css 表现层 js 行为层 5.js写在哪里 因为js和php都是脚本语言, js写在script这个标签里 ,php写在<?php>标签里 A. B. 6.变量 变量:可以改变的量,往往用英文字母代替变量,并且区分大小写。 变量的定义(声明):var加字母 例如: var a 我声明了一个变量叫a 变量的用途:变量其实是一个容器,起到 临时存储数据 的作用。 通过=进行赋值 如var a=12; 7.js语言的输出    alert() 这是js中的一个弹出框       console.log() 浏览器控制台输出,用于代码测试       document.write() 在浏览器中写出    8.js的注释   (1)单行注释//   (2)多行注释/*内容*/ 9.常量 不变的量 汉字 数字往往当做值使用。除了数字之外 要带引号" " 红色的报错, 说明雅宁是个变量,但是这个变量没有声明