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 相关文章推荐
Python数组条件过滤filter函数使用示例
Jul 22 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Python 一句话生成字母表的方法
Jan 02 Python
浅谈Python爬虫基本套路
Mar 25 Python
python高斯分布概率密度函数的使用详解
Jul 10 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
python读取指定字节长度的文本方法
Aug 27 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
javascript 类方法定义还是有点区别
2009/04/15 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
python双向链表实现实例代码
2013/11/21 Python
python实现获取序列中最小的几个元素
2014/09/25 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python3.x中自定义比较函数
2015/04/24 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Python tkinter实现日期选择器
2021/02/22 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
新闻专业学生的自我评价
2014/02/13 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
个人催款函范文
2015/06/24 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS