昨天遇到一个问题,就是在用phpstorm编写程序时,我的一个函数在编辑器上显示,说函数未定义,但是 我在运行时,却能正常运行,真是奇怪,后来因为想提高自己的进度,就没有想到底为什么。 今天给它总结一下。 我实例化模型类是用工厂模式来实例化的,那么那个M()里面的类的名字是不固定的,所以他实例化出来 ...
分类:
其他好文 时间:
2017-08-20 11:28:46
阅读次数:
146
区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,可以通过append()方法来修改值 (2)String类对象的性能远不如StringBuffer类。 String s=n ...
分类:
编程语言 时间:
2017-08-19 18:47:29
阅读次数:
196
Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; **kw是关键字参数,kw接收的是一个dict。 ...
分类:
其他好文 时间:
2017-07-30 12:46:33
阅读次数:
167
参考:https://segmentfault.com/a/1190000004450876 Bytes 对象是由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象。 Bytes 对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符) ...
分类:
其他好文 时间:
2017-07-28 12:47:20
阅读次数:
137
# 函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就算完成了。 对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了 函数内政部的复杂逻辑被封装起来,调用者无需了解。 python的函数定义非常简单,单灵活度却非常大。除了正常定义的必选参数外... ...
分类:
其他好文 时间:
2017-07-27 09:33:49
阅读次数:
225
1、不定参数 2、默认参数 默认参数的值仅仅在函数定义的时候赋值一次 默认参数的值应该是不可变的对象,比如 None、True、False、数字或字符串 此时,可以试用None作为默认值,然后在函数里面检查它,给予相应的默认值 ...
分类:
编程语言 时间:
2017-07-24 13:20:33
阅读次数:
164
本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题。这两个问题,本质都是因为动态语言(动态类型语言)的特性造成了,动态语言的好处就不细说了,本文是要讨论因为动态--这种灵活性带来的一些问题。 什么是动态语 ...
分类:
编程语言 时间:
2017-07-24 13:05:23
阅读次数:
243
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义一个函数 你可以定义一个由自己想要功能的函数,以下是 ...
分类:
编程语言 时间:
2017-07-24 11:40:10
阅读次数:
153
一、名词解释 String:字符串,并且是不可变对象; StringBuffer和StringBuilder:字符串,并且是可变的字符序列。 二、速度比较 因为StringBuffer是线程安全的,StringBuilder是线程不安全。所以速度比较:StringBuilder>StringBuff ...
分类:
其他好文 时间:
2017-07-24 00:13:00
阅读次数:
109
在传入参数时有两个特殊参数,*args,**kwargs,功能如下: 输出结果如下: 也就是说*args是传入一个tuple,*kwargs是传入一个dict。 利用这个特性,我们可以仿造出一个switch关键字来。 python中没有类似 switch(): Case 1:pass Case 2: ...
分类:
编程语言 时间:
2017-07-23 22:48:19
阅读次数:
230