P y t h o n

27
Gingko Studio P P y y t t h h o o n n —— —— 谁谁谁谁谁谁谁谁谁谁谁谁谁谁谁谁谁谁

description

P y t h o n. —— 谁说简洁就不能强大?. 概要. 一、 Python 亲密接触 1. Python 的历史 2. Python 的语言特点 3. Python 的语法特点 4. 为什么是 Python 5. 如何进入 Python 二、异域风情, Python 的语法 无处不在的“引用” 强大的运算符 人性化的条件表达式 繁杂的逻辑操作符 别具一格的块分隔符 扩展的数组结构 友好的下标操作符 怪异的函数 独特的类 包的导入. 概要. 一、 Python 亲密接触 1. Python 的历史 - PowerPoint PPT Presentation

Transcript of P y t h o n

Page 1: P y t h o n

Gingko Studio

PPyytthhoonn———— 谁说简洁就不能强大?谁说简洁就不能强大?

Page 2: P y t h o n

Gingko Studio

概要一、 Python 亲密接触

1. Python 的历史 2. Python 的语言特点 3. Python 的语法特点 4. 为什么是 Python 5. 如何进入 Python二、异域风情, Python 的语法1. 无处不在的“引用”2. 强大的运算符3. 人性化的条件表达式4. 繁杂的逻辑操作符5. 别具一格的块分隔符6. 扩展的数组结构7. 友好的下标操作符8. 怪异的函数9. 独特的类10. 包的导入

Page 3: P y t h o n

Gingko Studio

概要一、 Python 亲密接触

1. Python 的历史 2. Python 的语言特点 3. Python 的语法特点 4. 为什么是 Python 5. 如何进入 Python二、异域风情, Python 的语法1. 无处不在的“引用”2. 强大的运算符3. 人性化的条件表达式4. 繁杂的逻辑操作符5. 别具一格的块分隔符6. 扩展的数组结构7. 友好的下标操作符8. 怪异的函数9. 独特的类10. 包的导入

Page 4: P y t h o n

Gingko Studio

Python 的历史Python 是自由软件的丰硕成果之一

创始人 Guido van Rossum

时间地点 1989 年圣诞节期间在阿姆斯特丹创造 名字来源 大蟒蛇飞行马戏团的爱好者 渊源 从 ABC 发展而来

主要受 Modula-3 的影响结合了 Unix shell 和 C 的习惯

Page 5: P y t h o n

Gingko Studio

Python 的语言特点Python 是一种面向对象的解释性语言

Python 是免费的 Python 是可移埴的 Python 是可扩展的 Python 是简单的 Python 是万能的

Page 6: P y t h o n

Gingko Studio

Python 的语法特点Python 是一种语法表达极其优美的脚本语言

运行方式 命令行、交互式、图形集成环境 面向对象 甚至还支持异常处理 模块和包 与 Java 类似,还开发了 JPython

语言扩展 可以用 C/C++/Java 编写新的语言模块 SWIG (简单封装和接口生成器 )

Page 7: P y t h o n

Gingko Studio

一个 Python 的例子

Page 8: P y t h o n

Gingko Studio

为什么是 PythonPython 有什么魅力值得我们去学习

它使程序员的生活更有趣 简单易学 功能丰富

Page 9: P y t h o n

Gingko Studio

为什么是 Python和其它语言的比较

Shell Script 太旧了 Perl 太古怪,根本没法看懂别人写的程序 PHP 只适合做网页,离开网页它什么都不是 Tcl/Tk 基本变量形式只有字符串,运算时还得变来变去 Java 太伟大了,大到即使一个几个代码的小程序也会让你等死

Page 10: P y t h o n

Gingko Studio

如何进入 Python以 FC2 为例

查看是否安装了 Python 的 rmp 包 $rpm –q python

进入 Python 的命令行模式 $python … <<<

Page 11: P y t h o n

Gingko Studio

概要一、 Python 亲密接触

1. Python 的历史 2. Python 的语言特点 3. Python 的语法特点 4. 为什么是 Python 5. 如何进入 Python二、异域风情, Python 的语法1. 无处不在的“引用”2. 强大的运算符3. 人性化的条件表达式4. 繁杂的逻辑操作符5. 别具一格的块分隔符6. 扩展的数组结构7. 友好的下标操作符8. 怪异的函数9. 独特的类10. 包的导入

Page 12: P y t h o n

Gingko Studio

Python 的语法Python 的语法是大家讨论的一个热点

优美? 简洁? 非常不灵活? 零乱? 有趣!

Page 13: P y t h o n

Gingko Studio

无处不在的“引用”在 Java中基本数据类型 (整型、字符等 ) 都不是引用

Python中每个值 ( 而不变量 ) 都有一个唯一的标识 任何变量名之间的赋值都是引用的赋值

>>> x = 9 >>> y = x >>> z = x >>> y is x True >>> z is x True >>> x is 9 True

Page 14: P y t h o n

Gingko Studio

强大的运算符实现了更多的、更实际的运算符

乘幂 虚数的表示和复数间运算 字符串的乘法

>>> 3 ** 2 9 >>> a = 3 + 3j >>> b = complex(4, 4) >>> print a / b 0.75 + 0j >>> 2 * “Hello” ‘HelloHello’

Page 15: P y t h o n

Gingko Studio

人性化的条件表达式C/C++/Java中能连续比较吗 ?

与数学方法上表示相近的连续比较 >>> x = 9 >>> 6 < x < 10 True

Page 16: P y t h o n

Gingko Studio

繁杂的逻辑操作符我不明白为什么 Python 要把逻辑操作变得如此繁杂

未进行符号化,用文字 and , or , not 表示 数字和字符串都能参与逻辑运算 and:只要左边表达式的值为真,就返回右边表达式的值 否则返回左边表达式的值 or :两边表达式都为真时,返回左边表达式的值 一真一假就返回真表达式的值 两者都为假时就返回右边表达式的值

Page 17: P y t h o n

Gingko Studio

繁杂的逻辑操作符让我来看看这种“特色”

>>> 9 and "OK"'OK'>>> "OK" and 99>>> "OK" and "ME"'ME'>>> "" and 9''>>> "" and "OK"''>>> 0 and "OK"0>>> “” or 0

0 >>> 0 or “” “”

Page 18: P y t h o n

Gingko Studio

别具一格的块分隔符让我们回想一下我们是如何写文章的

Python中语句块、函数体、类体的分隔都不是用花括号的 而是通过冒号和缩进来标识

>>> x = 9>>> if ( 8 < x < 10 ):. . . print 8, “ < ”, “x”, “ < ”, 10>>> def div (x, y):. . . if ( y == 0 ):. . . return . . . print x, “ - ”, y, “ = ”, x * y

Page 19: P y t h o n

Gingko Studio

扩展的数组结构Python中提供了比 C/C++/Java中强大得多的类数组结构

Python中存在列表、序列、字典三种实现与数组类似功能的结构 列表可以认为就是常说的数组

>>> li = [ “a”, “b”, “c” ] 序列就是不可变列表,或者说常值数组

>>> t = ( “a”, “b”, “c” ) 字典的功能类似于 Java中的 Map

>>> d = { “k1”: “v1”, “k2”: “v2” }

Page 20: P y t h o n

Gingko Studio

友好的下标操作符还记得 C/C++/Java中数组的下标操作符 [ ] 吗?

它不仅充当下标操作符,还实现了串的分割操作 >>> str = “Hello” >>> str [ -1 ] ‘o’ >>> str [ 0 : 2 ] ‘He’ >>> str [ : 4 ] ‘Hell’ >>> str [ 2 : ] ‘llo’ >>> str [ : ] ‘Hello’

Page 21: P y t h o n

Gingko Studio

怪异的函数Python中函数的参数定义完全可以用怪异来形容

关键字:函数调用中指定列参的名字就可以不按顺传参 >>> def salary( base, rate ): . . . return base - base * rate . . . >>> salary ( rate = 0.1, base = 800 ) 720.0

Page 22: P y t h o n

Gingko Studio

独特的类它的独特体现在类属性的设置和成员方法的参数上

类的属性是动态增加的 特殊的形参 self

Page 23: P y t h o n

Gingko Studio

独特的类让我来看看下面这个例子

>>> class Time:. . . pass. . . def printTime( self ):. . . print self.hours, “:”, self.minutes, “:”, self.seconds. . .>>> now = Time()>>> now.hours = 20>>> now.minutes = 30>>> now.seconds = 10>>> now.printTime()20 : 30 : 10

Page 24: P y t h o n

Gingko Studio

包的导入使用和 Java中相同的关键字 import

存在两种不同的导入方式 >>> import math >>> from math import *

Page 25: P y t h o n

Gingko Studio

其它最后再介绍一下其它有类有关的的地方

存在操作符的重载>>> def __add__(self,

other): 存在异常处理

try…except 类的继承

class DerivedClassName(modname.BaseClassName):

Page 26: P y t h o n

Gingko Studio

总结 参考资料 http://python.cn/

http://www.python.org/http://www.csdn.net/

报告者 蒋松Gingko Studio(银杏工作室 )

Page 27: P y t h o n

Gingko Studio

谢谢*^_^*