foo

Python编码规范02--基础规范--代码格式

旧时模样 提交于 2020-03-17 20:41:44
1、 缩进   用4个空格来缩进代码。   绝对不要用tab, 也不要tab和空格混用.。对于行连接的情况, 你应该要么垂直对齐换行的元素, 或者使用4空格的悬挂式缩进(这时第一行不应该有参数): Yes: # 与起始变量对齐 foo = long_function_name(var_one, var_two, var_three, var_four) # 字典中与起始值对齐 foo = { long_dictionary_key: value1 + value2, ... } # 4 个空格缩进,第一行不需要 foo = long_function_name( var_one, var_two, var_three, var_four) # 字典中 4 个空格缩进 foo = { long_dictionary_key: long_dictionary_value, ... } No: # 第一行有空格是禁止的 foo = long_function_name(var_one, var_two, var_three, var_four) # 2 个空格是禁止的 foo = long_function_name( var_one, var_two, var_three, var_four) # 字典中没有处理缩进 foo = { long_dictionary_key: long

Vue-Router

旧时模样 提交于 2020-03-17 14:53:11
在模块项目中下载 vue-router 执行命令 npm install vue-router cnpm install --save vue-router   创建 vue-router 和使用   文件结构: 项目 --> src --> router --> index.js index.js import Vue from 'vue' import VueRouter from 'vue-router' import Home from '../views/Home.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Home', component: Home, children:[ { path: 'play', name: 'Play', component: Play, } ] }, { path: '/about', name: 'About', component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') }, { path: '*', redirect: 'Home' }, ] const router = new VueRouter({ mode: 'history', routes })

第四十四篇 面向对象高阶

。_饼干妹妹 提交于 2020-03-13 05:36:48
目录 第四十四篇 面向对象高阶 一、isinstance()和issubclass() 1.isinstance() 2.issubclass() 二、反射 1.__import__() 2.hasattr() 3.getattr() 4.setattr() 5.delattr() 三、 call () 和 new () 1.__call__() 2.__new__() 四、元类 五、单例模式 六、异常处理 第四十四篇 面向对象高阶 一、isinstance()和issubclass() 1.isinstance() 判断对象是否为这个类实例化出来的,也会检测父类(比较数据类型推荐使用) class Foo: pass class Bar(Foo): pass obj = Bar() # isinstance 可以检测到父类 print(isinstance(obj,Foo)) # True print(isinstance(obj,Bar)) # True print(isinstance(Bar,Foo)) # False # type 只检测到类 print(type(obj) == Bar) # True print(type(obj) == Foo) # False print(type(obj)) # <class '__main__.Bar'> print(type

python staticmethod&classmethod

删除回忆录丶 提交于 2020-03-12 05:56:09
python中的这两种方法都通过修饰器来完成 静态方法 : 不需要传递类对象或者类的实例 可以通过类的实例.方法名a().foo()或者类名.方法a.foo()名来访问 当子类继承父类时,且实例化子类时,这个实例其实时父类的,而非子类的 静态方法的调用和 普通方法 的调用一样,只不过前面加个类名。 静态方法并没有太大卵用,主要考虑代码的封装性,可维护性 类方法: 默认传递 类对象本身 cls,当然可以利用类中的方法 可以通过类的实例.方法名a().foo()或者类名.方法a.foo()名来访问 当子类继承父类时,方法正常使用 class Date(object):   day = 0   month = 0     year = 0   def __init__(self, day=0, month=0, year=0): #存储初始的信息     self.day = day     self.month = month     self.year = year     print self.day, self.month, self.year   @classmethod   def from_string(cls,date_string):     day, month, year = map(int, date_string.split('-'))     date1 =

原型和原型链

↘锁芯ラ 提交于 2020-03-11 16:31:05
1:参照此文理解js的静态方法与实例方法 https://www.cnblogs.com/faithZZZ/p/7045323.html 以下是我结合jquery设计的原理的一些理解 var Fn=function(){        //【注意】用this定义出来的属性和方法是在prototype里的          this.a=10;          this.add=function(){          console.log('add');          }        } //给Fn添加静态属性和方法,这些静态属性和方法只有Fn才能引用到 //jquery的$就是一个类似Fn的方法,$.trim()就是$的一个静态方法。 Fn.age=18; Fn.trim=function(){ console.log('trim'); } console.log(Fn.trim); //给Fn添加实例属性和方法,这些实例的属性和方法只有实例出来的对象(new出来的对象)才有 //jquery中的addClass也是这样添加的,$('span') 调用$方法,传参'span'会返回一个实例对象出来 Fn.prototype.name='penny'; Fn.prototype.addClass=function(){ console.log('addClass'); }

java 小贴士

雨燕双飞 提交于 2020-03-10 10:49:54
String 转 int,用parse可能会数字转换异常 int foo;try { foo = Integer.parseInt(myString);}catch (NumberFormatException e){ foo = 0;}可以这样处理但是最好这样处理 import com.google.common.primitives.Ints;int foo = Optional.ofNullable(myString) .map(Ints::tryParse) .orElse(0) 来源: https://www.cnblogs.com/xgkwill/p/12454082.html

vuex 中模块化开发的一些知识

回眸只為那壹抹淺笑 提交于 2020-03-06 04:46:51
index.html <!doctype html> <html lang="en"> <head> <title>Title</title> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body> <div id="app"></div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery

python 类方法、静态方法

不想你离开。 提交于 2020-03-02 12:23:56
python 类方法、静态方法 class Foo ( object ) : def __init__ ( self , name ) : self . name = name def ord_func ( self ) : """定义一个实例方法,至少有一个self参数""" print ( "实例方法" ) @ classmethod def class_fun ( cls ) : """定义类方法,至少有一个cls参数""" print ( "类方法" ) @ staticmethod def static_fun ( ) : """定义静态方法, 无默认参数""" print ( "静态方法" ) f = Foo ( "中国" ) # 调用实例方法 f . ord_func ( ) # 调用类方法 Foo . class_fun ( ) # 调用静态方法 Foo . static_fun ( ) 来源: CSDN 作者: 廷益--飞鸟 链接: https://blog.csdn.net/weixin_45875105/article/details/104607398

String.split(String regex, int limit)

佐手、 提交于 2020-03-02 08:02:36
public String[] split(String regex, int limit) limit n 大于0,则pattern(模式)应用n - 1 次 关于String.split(String regex, int limit)String s = “boo:and:foo” 关于String.split(String regex, int limit)s.split(“:”,2) 关于String.split(String regex, int limit)//result is { “boo”, “and:foo” } limit n 小于0,则pattern(模式)应用无限次 关于String.split(String regex, int limit)String s = “boo:and:foo” 关于String.split(String regex, int limit)s.split(“:”,-2) 关于String.split(String regex, int limit)//result is { “boo”, “and”, “foo” } limit n 等于0,则pattern(模式)应用无限次并且省略末尾的空字串 关于String.split(String regex, int limit)String s = “boo:and:foo”

JavaScript 预解析机制

别来无恙 提交于 2020-03-01 16:46:42
首先我们来看一段代码: 1 <script> 2 console.log(a); 3 var a = 10; 4 </script> 此时运行结果为 为什么会显示undefined呢?这就涉及到了 预解析中的变量提升 : 1、 局部提升(变量) 会把变量声明分成两部分 1) 变量声明 只有这个部分发生了提升 ,提升至所在作用域的最前面 2) 变量赋值 在原位置; 接下来再看一段代码: 1 <script> 2 foo(); 3 function foo(){ 4 console.log("hello world"); 5 } 6 </script> 此时运行结果为: 我们会发现,声明式的函数,调用在声明之前也是可以访问的。这是因为 预解析总的函数提升 : 2 、整体提升(函数) 整个函数都提升到作用域的最前面 了解了变量提升和函数提升,那么我们来想一下两者谁的优先级更高? 1 <script> 2 console.log(foo); 3 var foo = 10; 4 function foo(){} 5 </script> 显示结果为: 结果得到函数而不是变量; 也就是说:函数将变量声明覆盖,说明是先变量提升之后,函数再提升上去将其覆盖。所以, 变量提升的优先级高。 总结 : JavaScript 预解析机制 有如下操作: 检查 你的所有代码有没有 语法错误 。如果有语法错误