我在学习python时,时不时地会拿它跟自己已经学会的语言做对比,想想他们之间的相同和不同的地方。以下就是我学习python感受到的不同或者
相同之处。
1.三重引号表示一个多行字符串。在开始与结束引号间的所有东西都被视为单个字符串的一部分,包括硬回车和其它的引号字符。
2.如果将两个分片索引全部省略,这将包括list的所有元素。但是与原始的list不同,它是原list的完全拷贝。
3.格式化字符串"%s=%s" % (k, v)
4.getattr的第三个参数是一个缺省返回值,也是就当getattr找不到要找的对象时,会返回的值
5.[elem for elem in li if len(elem) > 1]列表过滤,可以用很简洁的语法实现复杂的功能,但是我并不喜欢这种东西,因为主流的编程风格
是没有这种写法的,我宁愿多写点代码来实现同样的功能。
6.and-or技巧:在python里a and b or c的意义跟a?b:c一样,前提条件是b一定要是真,这个技巧我很不喜欢,我觉得根本没必要有这种技巧
存在。可能对于python老手来说这是个好东西,就像上面的列表过滤一样,可以让他们少写几行代码。不过我想说的是如果可以用多的代码段来
获得程序的可读性的话,我宁愿多写几行代码,多写几行代码真的那么难吗??
7.str(None)是'None'
8.判断一个变量是不是None,使用语法is None比==None更快
9.python的类不会自动去掉用父类的方法,即在子类的__init__函数中不会自动调用父类的__init__,所以你必须自己主动去调用父类的__init__
,调用的形式为: 父类名.__init__(self)。一种跟主流语法不一致的地方,It's sucks.
10.判断一个实例是不是一个类的实例:instance.__class__ is Classname,另外判断两个对象是不是同一个也可以使用is:instance1 is instance2
11.__getitem__和__setitem__使得你可以通过如下的方式来访问和修改类的成员值:className['attribute'],className['attribute']=something
12.当一个类被实例化的时候,它会沿着继承树去寻找__init__方法去调用,一旦找到一个后,便进行调用,寻找过程也就到此为止。
13.python专用方法:
__repr__(self):返回类的字符串表示,相当于java的toString()
__cmp__(self,arg):相当于c++重载==操作
__len__(self):返回类的长度,当使用len(class)时,会被调用
__delitem__(self,arg):当调用del item时,会被调用
14.python的私有方法是这样定义的:__functionName,私有属性也是这样定义的:__attribute ,oh,my god!
15.python的for循环要实现主流编程语言for循环是这样做的:
for i in range(len):
pass
真希望python提供主流编程语言的for循环写法,不过,现在的语言都提供了for。。。in。。。这样的语法,看来得改改写for循环的习惯了
16.os.listdir("d:/a\\b")这样写是可以的,看来对/和\是可以混写,貌似主流的语言都可以哦
分享到:
相关推荐
阿里旺旺 买家版官方下载是阿里巴巴为商人...阿里旺旺买家版 v9.11.05C更新日志 1、新增日历功能,不再错过精彩活动 2、表情面板升级 3、支持自定义浏览器 4、多彩换肤功能,让旺旺皮肤自定义 阿里旺旺买家版截图
这款插件版本号为9.11.193.4697.0,其功能强大,能够极大地提升开发人员在调试和分析应用日志时的工作效率。 1. **颜色高亮**:GrepConsole的一大亮点是它的颜色编码系统。用户可以根据不同的日志级别(如DEBUG、...
8. **错误处理和日志记录**:源代码中会包含错误处理机制,可能有自定义的异常类以及日志记录功能,方便调试和问题定位。 9. **示例和演示**:`Demos`目录下的代码示例,可以帮助开发者理解如何在实际项目中使用...
BIND 9是BIND家族的一个重要版本,其中9.11.3版本是BIND 9的一个特定的发行版。管理员参考手册是为系统管理员在安装、配置和维护BIND 9 DNS服务器时提供帮助的文档。 在手册中,首先介绍了文档的范围、组织结构以及...
**Cisco ASA 9.11-K8:网络安全的坚固盾牌** Cisco ASA(Adaptive Security Appliance)是一款功能强大的安全设备,专为网络边缘提供安全防护。ASA 9.11-K8是Cisco ASA系列的一个特定软件版本,它带来了诸多性能...
年终总结前端相关小程序Reactwebpackwebpack文档更新日志(7.11-7.27)webpack文档更新日志(7.28-8.14)webpack文档更新日志(8.15-8.28)webpack 文档更新日志(8.29-9.11)webpack 文档更新日志(9.12-9.29)...
AMCap是一个功能完全的视频捕捉程序,虽然它很像Microsoft VidCap,但作者No Danjou以源自Microsoft DirectX 9 SDK的AMCap开放代码制作发展并加入对DirectShow的...另外,在新版本中又加入了一些新功能,看原更新日志!
8.3.4 使用带检查点的redo日志的恢复 习题 8.4 undo/redo日志 8.4.1 undo/redo规则 8.4.2 使用undo/redo日志的恢复 8.4.3 undo/redo日志的检查点 习题 8.5 防备介质故障 8.5.1 备份 8.5.2 非...
具体更新内容需要查看官方发布的历史版本更新日志来获取详细信息。 在使用SURFER时,用户可以导入各种类型的数据,如点状、线状和面状数据,以及格网数据。软件支持多种数据格式,如ASCII、CSV、Excel、Shapefile等...
6. `runtime`:运行时生成的临时文件,如日志、缓存等,一般不需手动编辑。 7. `framework`:可能包含了所使用的PHP框架的核心文件,比如Laravel、ThinkPHP等。 8. `addons`:扩展插件目录,允许开发者添加自定义...
##### 9.11 CPU信息 命令:`adb shell cat /proc/cpuinfo`。 ##### 9.12 内存信息 命令:`adb shell cat /proc/meminfo`。 #### 十、修改设置 ##### 10.1 分辨率 命令:`adb shell wm size <width>x<height>`。 ...
兼容性请参阅变更日志28.06.2020 -.ecm格式支持16.09.2019-保存状态5.09.2019-振动支持2.09.2019 -Anti-Modchip和LibCrypt保护的游戏支持13.03.2019-合并的MDEC(视频解码器)支持2018年8月8日-创建了兼容性列表网络...
0x08 诊断 0x0B 获取通信事件计数器 0x0C 获取多个通信写入事件日志 10x 写入多个通信事件日志 0x0x Registers 0x11 Report Slave Id 0x14 Read File Record 0x15 Write File Record 0x16 Mask Write Register 0x17 ...
3.6. 日志 3.7. 实现NamingStrategy 3.8. XML配置文件 4. 持久化类(Persistent Classes) 4.1. 一个简单的POCO例子 4.1.1. 为持久化成员变量声明读写属性 4.1.2. 实现一个默认的构造器(constructor) 4.1.3. 提供一...
- **远程数据库复制**:利用数据库管理系统实现数据的日志记录,并实时或周期性地将这些日志发送到备份中心的数据库中,以确保两地数据的一致性。这种方法在单个数据库的远程备份场景下相对简便,但随着数据量的增加...
11.6 4.4BSD 日志文件系统 11.6.1 写日志 11.6.2 数据检索 11.6.3 崩溃恢复 11.6.4 清除进程 11.6.5 分析 11.7 元数据日志 11.7.1 正常操作 11.7.2 日志的一致 11.7.3 崩溃恢复 11.7.4 分析 11.8 Episode 文件系统 ...
9.11. 生成器表达式 10. Python 标准库概览 10.1. 操作系统接口 10.2. 文件通配符 10.3. 命令行参数 10.4. 错误输出重定向和程序终止 10.5. 字符串正则匹配 10.6. 数学 10.7. 互联网访问 10.8. 日期和时间 10.9. ...
9.11 写一个有效性检查程序 9.12 定义及生成命令的例子 第十章 调试ILE程序 10.1 ILE源的调试 10.2 调试命令 10.3 准备要调试的程序目标 10.4 启动ILE源的调试 10.5 往调试环境中加一个程序目标 10.6 从调试环境中...
9.11. 语句 9.12. 函数 9.13. 数组和对象字面量 9.14. 要做和要思考的事 第 10章 追求加速的种群计数 10.1. 基本方法 10.2. 分治法 10.3. 其他方法 10.4. 两个字种群计数的和与差 10.5. 两个字的种群计数比较 10.6. ...