object

python 面向对象

谁说胖子不能爱 提交于 2020-03-04 08:52:30
面向对象编程首先不是直接解决问题而是解决一类问题 通过创建类来模拟建立一通用模型 class People ( object ) : #定义类 def __init__ ( self , name , age ) : #静态属性属性值 self . name = name #属性 = 属性值 self . age = age p1 = People ( "张三" , "18" ) #构建对象 p2 = People ( "李四" , "20" ) #同构建对象 print ( p1 . name ) #输出对象名字 print ( p1 . age ) #输出对象年龄 另一种写法 该写法中类中只有一个对象 class People ( object ) : #定义类 def __init__ ( self ) : #静态属性属性值 self . name = "张三" #属性 = 属性值 self . age = 18 p1 = People ( ) #构建对象 print ( p1 . name ) #输出对象名字 print ( p1 . age ) #输出对象年龄 封装 类中属性进行私有化 class People ( object ) : #定义类 def __init__ ( self , name , age ) : #静态属性属性值 self . __name =

python之内置函数

↘锁芯ラ 提交于 2020-03-04 07:27:26
一、数学运算类 1 abs(x) 求绝对值 2 1、参数可以是整型,也可以是复数 3 2、若参数是复数,则返回复数的模 4 complex([real[, imag]]) 创建一个复数 5 divmod(a, b) 分别取商和余数 6 注意:整型、浮点型都可以 7 float([x]) 将一个字符串或数转换为浮点数。如果无参数将返回0.0 8 int([x[, base]]) 将一个字符转换为int类型,base表示进制 9 long([x[, base]]) 将一个字符转换为long类型 10 pow(x, y[, z]) 返回x的y次幂 11 range([start], stop[, step]) 产生一个序列,默认从0开始 12 round(x[, n]) 四舍五入 13 sum(iterable[, start]) 对集合求和 14 oct(x) 将一个数字转化为8进制 15 hex(x) 将整数x转换为16进制字符串 16 chr(i) 返回整数i对应的ASCII字符 17 bin(x) 将整数x转换为二进制字符串 18 bool([x]) 将x转换为Boolean类型 View Code 二、集合类操作 1 basestring() str和unicode的超类不能直接调用,可以用作isinstance判断 2 format(value [, format_spec]

es6重点笔记:Symbol,Set,Map,Proxy,Reflect

喜夏-厌秋 提交于 2020-03-04 04:02:08
一,Symbol 原始数据类型,不是对象,它是JavaScript第七种数据类型,表示独一无二的值。Symbol是通过Symbol函数生成的: let s = Symbol(); typeof s // "symbol" 不用new,因为Symbol不是对象,而是原始值。Symbol通常作为内置的值来使用,最重要的一个属性: Symbol.iterator,该属性指向该对象的默认遍历器方法,所以 obj[Symbol.iterator]会返回该对象的默认遍历器,然后可以使用遍历器一些方法比如for...of 二,Set,Map 1,Set 类似于数组,但是成员的值都是唯一的,本身是构造函数,所以可以const s = new Set(); Set函数接收一个数组,会进行去重,但是注意返回的是Set结构,不是数组,因此要转换一下 [...new Set(array)],这就是最简单的数组去重。 Set生成的对象有size属性(实际是Set.prototype.size属性),代表里面成员个数,都是不重复的。 4个操作方法: add(value),添加某个值,返回Set结构本身,所以可以链式使用,连续add,但是如果add都是同一个,其实只算1个 delete(value),删除某个值,返回布尔值,表示是否删除成功 has(value),返回布尔值,表示是否为Set的成员 clear(

JS中的迭代

眉间皱痕 提交于 2020-03-03 23:27:40
for each...in 使用一个变量迭代一个对象的所有属性值。对于每一个属性值,有一个指定的语句块被执行。 作为ECMA-357(E4X)标准的一部分,for each...in语句已被废弃,E4X中的大部分特性已被删除,但考虑到向后兼容,for each...in只会被禁用而不会被删除,可以使用ES6中新的for...of语句来代替。大部分非Mozilla浏览器都没有实现该标准,E4X并不是 ECMAScript 标准的一部分。 语法 for each (variable in object) { statement } 参数 variable 用来遍历属性值的变量,前面的var关键字是可选的。该变量是函数的局部变量而不是语句块的局部变量。 object 该对象的属性值会被遍历。 statement 遍历属性值时执行的语句。 如果想要执行多条语句,请用({ ... }) 将多条语句括住。 警告 永远不要使用for each...in语句遍历数组,仅用来遍历常规对象。 一些对象的内置属性是无法被遍历到的,包括所有的内置方法,例如String对象的indexOf方法。不过,大部分的用户自定义属性都是可遍历的。 for...in for...in语句以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。 语法 for (variable in object) {.

Js 图片轮播渐隐效果

点点圈 提交于 2020-03-03 21:39:18
1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title></title> 6 <style type="text/css"> 7 * { 8 margin:0px; 9 padding:0px; 10 } 11 li { 12 list-style: none; 13 } 14 /*example*/ 15 .example { 16 width:600px; 17 height:400px; 18 overflow:hidden; 19 position:relative; 20 margin:50px auto; 21 } 22 .example ol { 23 position: relative; 24 width: 120px; 25 height: 20px; 26 top: -30px; 27 left: 60px; 28 } 29 30 .example ol li { 31 float: left; 32 width: 10px; 33 height: 10px; 34 margin: 5px; 35

C#第一节

淺唱寂寞╮ 提交于 2020-03-03 17:24:05
C#是一种简洁、现代、面向对象且类型安全的编程语言。是运行在.Net FarmWork 和 .Net core 之上的编程设计语言 C#开发是一种开发效率高,运行速度快,是有C语言和C++演变而来的。 Java既是一种平台,也是一种语言 .Net core近几年开发的平台,优点是可跨平台运行。编写的语言既可以在Windows平台上运行,也可以在Linux平台上运行,以及其他平台 1、C#和.net 的区别 就像演员和舞台,C#是演员,.Net是平台,平台给演员提供资源,也给其他演员(C++\VB等)提供场地。这名演员只能在平台上表演。但可以表演很多东西(V\B,C\B) 在VS上编写 2、C# 特性: 垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存; 异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法; 类型安全 (type-safe) 的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的 类型强制转换等情形。 3、C# 具有一个同一类型系统 (unified type system)。   所有 C# 类型(包括诸如 int 和 double 之类的基元类 型)都继承于一个唯一的根类型:object。因此,所有类型都共享一组通用操作,并且任何类型的值都能够以一致的方式进行存储

Thread和Object类中的重要方法详解

為{幸葍}努か 提交于 2020-03-03 12:01:05
Thread和Object类中的重要方法详解 方法概览 wait、notify、notifyAll 作用、用法 :阻塞阶段、唤醒阶段、遇到中断 直到以下四种情况之一发生时,才会被唤醒 另一个线程调用这个对象的notify()方法且刚好被唤醒的是本线程 另一个线程调用这个对象的notifyAll()方法 过了wait(long timeout)规定的超时时间,如果传入0就是永久等待; 线程自身调用了interrupt() 代码演示:展示wait和notify的基本用法 研究代码执行顺序 证明wait释放锁 public class Wait { public static Object object = new Object ( ) ; static class Thread1 extends Thread { @Override public void run ( ) { synchronized ( object ) { System . out . println ( Thread . currentThread ( ) . getName ( ) + "开始执行了" ) ; try { object . wait ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } System .

Thread和Object类中的重要方法之面试问题总结

 ̄綄美尐妖づ 提交于 2020-03-03 11:55:57
面试问题 1.手写生产者消费者设计模式 点这里 2.用程序实现两个线程交替打印0~100的奇偶数 点这里 3.为什么wait()需要在同步代码块内使用,而sleep()不需要 wait()需要在同步代码块内使用主要让通信变得可靠,防止线程死锁,如果不把wait/notify放在同步代码块中的话,很有可能在执行wait之前,线程很有可能已经切换到了另一个执行notify的线程,这样的话有可能另一个线程先把notify都执行完毕了,那wait永远没有被唤醒了,这就 导致了永久等待或者死锁的发生 ,这就需要把两个方法都放到同步代码块中去。 sleep()只关心自己这个线程 ,和其他线程关系并不大,所以并不需要同步。 4.为什么线程通信的方法wait(),notify()和notifyAll()被定义在Object类里?而sleep定义在Thread类里? 因为在java中,wait(),notify()和notifyAll()属于 锁级别 的操作,而锁是属于某个对象的。 5.wait方法是属于Object对象的,那调用Thread.wait会怎么样? Thread也是个对象,这样调用也没有问题,但是Thread是个特殊的对象, 线程退出的时候会自动执行notify ,这样会是我们设计的流程受到干扰,所以我们一般不这么用。 6.如何选择用notify还是notifyAll?

JS new原理和代码实现

不打扰是莪最后的温柔 提交于 2020-03-03 01:17:46
示例: var Fn=function(){ this.name='hty' } const fn=new Fn; 当new Fn执行的时候,内部执行过程如下: 1、一个继承自Fn.prototype的新对象被创建。 2、使用指定的参数调用构造函数Fn,并将this绑定到新创建的对象。new Fn等同于new Fn(),也就是没有指定参数列表,Fn 不带任何参数调用的情况。 3、由构造函数返回的对象就是new表达式的结果。如果构造函数没有显式返回一个对象,则使用步骤1创建的对象。(一般情况下,构造函数不返回值,但是用户可以选择主动返回对象,来覆盖正常的对象创建步骤),这里需要注意,如果构造返回的不是对象,则不管return语句,返回步骤1创建的对象。 手动实现: var New =function(fn){ var obj={}; obj.__proto__=fn.prototype; // 将 arguments 对象转为数组 var args = [].slice.call(arguments); //去除构造函数 args.shift(); // 执行构造函数并改变this对象 var result = fn.apply(obj, args); if(Object.prototype.toString.call(result)=="[object Object]" ){

javascript: Object对象生成URL参数

牧云@^-^@ 提交于 2020-03-02 20:01:40
code: function makeQuery(queryObject) { const query = Object.entries(queryObject) .reduce((result, entry) => { result.push(entry.join('=')) return result }, []).join('&') return `?${query}` } sample: const queryObject = {name: "nameValue", code: "codeValue"}; const objectEntries = Object.entries(queryObject) => [["name","nameValue"],["code","codeValue"]] const arrayReduce = objectEntries.reduce((result, entry)=> {   result.push(entry.join("="));   return result }, []) => ["code=codeValue","name=nameValue"] `?arrayReduce.join('&')` 来源: https://www.cnblogs.com/Nyan-Workflow-FC/p/11115302.html