Python 学习笔记

可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/11/03/python-memo/以及本声明。

基本概念

Python居然支持复数。如(-5+4j)。但要注意虚数单位单独使用时要写成 1j,不能写成 j。与Perl和PHP的区别:单引号和双引号没有任何区别。没有插值功能。三引号:”’ 和 “”” 相当于Perl的heredoc。行尾不需要用分号,分号仅用于一行写多条语句的情况。跟BASIC的冒号有些相似。缩进是有语义的!建议使用TAB缩进

运算符与表达式

运算符 ** 乘幂,Perl也有。字符串的 * 表示重复,相当于Perl的 x 运算符。居然还有专用于整除的 // 。别跟Perl 6的 // 混淆了。

控制流

if-elif-else,Perl为if-elsif-else,bash为if-elif-fiif、elif等控制流语句后面要加冒号,很像PHP的语法while和for循环可以带else,循环正常结束时就会执行else。不用像C语言那样,循环结束时要检查循环变量是否等于终值,以判断是否正常结束。赞range函数生成的结果不包括终点。比较:Perl的 .. 运算符包括终点。所以,Python的range(a,b)理解成C语言的 for(i=a;i什么都不做的pass语句,算是个python特色

函数

函数中使用全局变量需要用global关键字,类似于PHPDocString,又一个python特色,函数的第一个逻辑航的字符串作为文档字符串。类似于POD和javadoc,不过是写在函数体内的。还能通过”函数名.__doc__”访问lambda:类似于perl的闭包

数据结构

列表:定义方式为 a=[1,2]。等价于perl的数组/列表元组(tuple):定义方式为 a=(1,2)。要注意列表中的列表不会被打散,如 a=[1,2], b=[a,3,4],结果就是 b=[[1,2],3,4]。这一点与Perl不同。字典:定义方式为 c={‘a’:1, ‘b’:2}。等价于perl的散列。注意两点: 定义和访问时,key必须用引号引起来。使用{}定义,使用[]访问,即c[‘a’]。与Perl不同。列表赋值是引用赋值。要想拷贝,必须用切片:b = a[:]。Perl程序员要注意。列表的sort会改变原列表。

例外

try-except-finally,相当于java的try-catch-finally还有else,当没有发生异常、正常结束try块时执行。跟for/while的else块一样故意抛出异常叫raise,java里面叫throw

面向对象

类的__init__函数类似于C++的构造函数;__del__函数类似于C++的析构函数。类方法定义的第一个参数必须为self,调用时这个参数会被传递为对象本身。类似于perl,perl中第一个参数也会被传递为对象本身,不过需要程序员自己写 my $self = shift; 来接收。用C++的话来说,所有成员函数都是虚函数。调用基类方法时要手工传递self,如 Parnet.__init__(self, name)。

模块

import foo; 相当于perl的 use foo;from foo import bar 相当于perl的 use foo qw/bar/;

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    Python字符串的encode与decode研究心得乱码问题解决方法

    2025-2-28 8:47:22

    编程技术

    python 判断自定义对象类型

    2025-2-28 8:47:44

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索