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 相关文章推荐
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
python 性能提升的几种方法
Jul 15 Python
python中常用的九种预处理方法分享
Sep 11 Python
Python之re操作方法(详解)
Jun 14 Python
详谈python read readline readlines的区别
Sep 22 Python
Python键盘输入转换为列表的实例
Jun 23 Python
python实现二维数组的对角线遍历
Mar 02 Python
python 通过文件夹导入包的操作
Jun 01 Python
python collections模块的使用
Oct 16 Python
python 实现学生信息管理系统的示例
Nov 28 Python
Python截图并保存的具体实例
Jan 14 Python
pycharm代码删除恢复的方法
Jun 26 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
PHP产生随机字符串函数
2006/12/06 PHP
在vs2010中调试javascript代码方法
2011/02/11 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
python迭代器与生成器详解
2016/03/10 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python os.fork() 循环输出方法
2019/08/08 Python
Python列表list操作相关知识小结
2020/01/29 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
python绘制汉诺塔
2021/03/01 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
介绍一下gcc特性
2012/01/20 面试题
人事助理岗位职责
2013/11/18 职场文书
公司经理聘任书
2014/03/29 职场文书
优秀员工自荐书
2015/03/06 职场文书
小学运动会入场词
2015/07/18 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Golang表示枚举类型的详细讲解
2021/09/04 Golang