Python 学习笔记


Posted in Python onDecember 27, 2008

可以任意转载,但转载时必须标明原作者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-fi
  • if、elif等控制流语句后面要加冒号,很像PHP的语法
  • while和for循环可以带else,循环正常结束时就会执行else。不用像C语言那样,循环结束时要检查循环变量是否等于终值,以判断是否正常结束。赞
  • range函数生成的结果不包括终点。比较:Perl的 .. 运算符包括终点。所以,Python的range(a,b)理解成C语言的 for(i=a;i<b,i++) 好些。
  • 什么都不做的pass语句,算是个python特色

函数

  • 函数中使用全局变量需要用global关键字,类似于PHP
  • DocString,又一个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/;
Python 相关文章推荐
使用SAE部署Python运行环境的教程
May 05 Python
详解Python迭代和迭代器
Mar 28 Python
对python中的logger模块全面讲解
Apr 28 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
windows下numpy下载与安装图文教程
Apr 02 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
python中的错误如何查看
Jul 08 Python
Python 必须了解的5种高级特征
Sep 10 Python
python3.0 字典key排序
Dec 24 #Python
python 文件与目录操作
Dec 24 #Python
python zip文件 压缩
Dec 24 #Python
python 数据加密代码
Dec 24 #Python
python 测试实现方法
Dec 24 #Python
Python 面向对象 成员的访问约束
Dec 23 #Python
pymssql ntext字段调用问题解决方法
Dec 17 #Python
You might like
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
零基础php编程好学吗
2019/10/11 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python实现Decorator模式实例代码
2018/02/09 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
Python对象与引用的介绍
2019/01/24 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python的命名规则知识点总结
2019/10/04 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
高校教师自荐信范文
2014/03/13 职场文书
道德演讲稿
2014/05/21 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
顶岗实习计划书
2015/01/16 职场文书