Python ——谁说简洁就不能强大? Gingko Studio.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

第四章 衛生保健及急救 組員: 4990U002 何易芳 4990U021 張書涵 4990U035 沈采柔 4990U036 王孜瑜 4990U039 許佳靜 4990U043 黃懿華 4991U002 柳瑋翎 4991U008 陳禹伶 第五組.
Go, Next Java? No, Next 许式伟 Go ,会成为下一个 Java 吗? 不。 Go 不是下一个 Java 。 认为 Go 是下一个 Java ,那是远远低估 Go 的能力。 Go 是下一个 C !
最根本的養生之道 主講人:無毒的家國際連鎖店創辦人 《不用刀的手術》作者 王康裕 不用刀的手術 ── 布魯士根菜汁的神奇配方.
數學社群 教學分享 和平國小 陳淑渟老師 數學社群 教學分享 和平國小 陳淑渟老師. 小一常發生的 學習困難 定位板的應用 序數的學習 困難與教學 突破 主題大綱.
健康.安全年 製作 : 黃靜怡. 安全第一,我想,這是一句大家都耳熟能詳的話吧,說安全, 簡單的說,就是注意自己、眼睛要看、耳朵要聽,不要莽莽 撞撞的,安全是大家所期望的,而父母總是常常掛念我們, 就是希望我們能安全,畢竟,孩子是父母一輩子的牽掛,會 擔心我們的,往往就是關心我們的人,每個人都希望自己做.
【大願文教基金會】園藝治療師 黃盛璘督導、王麗玲執行. 年齡在 2 足歲以上 18 歲以下,經醫學中 心或區域醫 院鑑定為 重度、極重度 身心障礙,不具行動能 力、且不能自理生活,並持有身心障礙 手冊的新北市居民。 八里愛心教養院~服務對象.
第二十九课 致儿子书 张之洞.
如何陪伴孩子度過 高三歲月.
把人的生命写在教育的旗帜上 了解一个案件 欣赏一篇散文 学习一种理念 感悟一个故事.
董笑菊 电子信息与电气工程学院 计算机科学与工程系
广州宜家选址分析 0连锁 李若谷 陈玉风 黄小飞 蓝柔盈.
六大原因造成 現代人身體酸性化.
景区讲解常用方法.
法務部財產申報查核平臺 規劃說明.
C语言程序设计 李伟光.
機械工程系.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
班級愛心小護士訓練 臺南市東區勝利國小 健康中心.
项目四 营业税 山东经贸职业学院 财政金融系.
敬业·创业·乐业 ——我的成长之路 赵谦翔.
四年七班親師會 自信學習,健康成長.
醫療旅遊.
社會發展學系 簡 介.
人物小传:杨嘉嵋,1975年出生,国家 重点四川大学本科毕业,中国传媒大学博士毕业,现为上海政法学院讲师。多次发表学术论文:《试论社会主义法治的目标和现代法治精神的培育》发表于钦州师范高等专科学校校报2000年04期,《西部在引进,利用外资中应重视的问题及对策》发表于四川师范学院学报2000年05期,《试论毛泽东的刑法思想》发表于达县师范高等专科学校学报2001年01期,《美国著名主持人的十点共性》发表于中国广播电视学刊2007年08期,《我国电视法治节目的现状与提升》发表于新闻战线2008年08期。
第二章 语用的主要要素分析 第一节 语境 第二节 预设 第三节 角色 第四节 视角.
从从容容中考去.
Web Programming 網際網路程式設計
美麗的星空 陳弦希製作.
性別刻板印象.
初三8班(上) 期末总结班会.
初三(上) 期末总结班会.
计算机与程序.
一週菜單設計.
第九章日治時期的台灣(下).
改革开放给我们带来的变化 系别:11商务流通系 班级:物流四班 组员:物四男生组.
安全訓練研習 工教 陳志杰.
第23章 增加点击率 ——网站优化与推广.
大村國小 尋根之旅.
那年我參加瑞士巴塞爾博覽會, 除了接單做貿易,還零售賣品, 以擴大出口商品的影響。
中國醫藥大學 北港分部簡報.
西安国际港务区 入区企业相关地方税收 知识培训
拒绝毒品健康成长 ——张鸿谊.
动商研究中心 让高校体育驶入快车道 --国家“学校体育”相关文件解读 2016 年 05 月 15 日.
第三章 领悟人生真谛 创造人生价值 第一节 树立正确的人生观 创造有价值的人生 第二节 第三节 科学对待人生环境.
鸟的生殖和发育.
8.1 系統軟件、應用軟件和驅動程序 電腦軟件 是使電腦處理指定工作的一連串指令 大致可分大為三類: 驅動程序 系統軟件 應用軟件.
市级个人课题交流材料 《旋转》问题情境引入的效果对比 高淳县第一中学 孔小军.
第十四章 中国特色社会主义事业的依靠力量. 第十四章 中国特色社会主义事业的依靠力量 内容提要 包括知识分子在内的工人、农民是中国特色社会主义事业的根本力量;改革开放以来出现的新的社会阶层是中国特色社会主义事业的建设者;必须认真贯彻尊重劳动、尊重知识、尊重知识人才、尊重创造的重大方针,最广泛最充分地调动一切积极因素;巩固和加强各族人民的团结合作。
5.4 预测中的专家评估法 专家会议法 专家评估法 德尔菲法.
课程整体教学设计 ——《面向对象程序设计基础》
终极(13)班 赵树杰 许志鹏 初二(13)班.
全面推廣政府服務流程改造 行政院研究發展考核委員會  主任委員 宋餘俠 102年7月17日.
中国政法大学卫生法研究中心 于秀艳 2011年6月28日 杭州
思想道德修养与法律基础.
兒 童 營 養 高雄長庚醫院營養治療科 營養師 洪凱殷.
第1課 華南地區— 海陸文化的交會區.
節日狂歡轟炸耳仔.
多元文化“地球村”—— 世界文化之旅.
三角形的邊角關係 大綱:三角形邊的不等關係 三角形邊角關係 樞紐定理 背景知識:不等式 顧震宇 台灣數位學習科技股份有限公司.
專題報告: 沒有國哪裡會有家?.
Python入门培训演示 系统测试部 叶华 文件级别:公开
課程名稱:資料庫系統 授課老師:李春雄 博士
視窗程式設計簡介-VB、Visual Studio
▲重合的概念 ▲對應頂點、對應邊、對應角 ▲全等的記法 ▲全等性質 ▲三角形全等性質
架构师成长感悟 吴隆烽
課程名稱:資料庫系統 授課老師:李春雄 博士
方格紙上畫正方形.
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
課程簡介 2019/10/18 李耕銘.
Presentation transcript:

Python ——谁说简洁就不能强大? Gingko Studio

概要 1. Python的历史 一、Python亲密接触 二、异域风情,Python的语法 2. Python的语言特点 无处不在的“引用” 强大的运算符 人性化的条件表达式 繁杂的逻辑操作符 别具一格的块分隔符 扩展的数组结构 友好的下标操作符 怪异的函数 独特的类 包的导入 Gingko Studio

概要 1. Python的历史 一、Python亲密接触 二、异域风情,Python的语法 2. Python的语言特点 无处不在的“引用” 强大的运算符 人性化的条件表达式 繁杂的逻辑操作符 别具一格的块分隔符 扩展的数组结构 友好的下标操作符 怪异的函数 独特的类 包的导入 Gingko Studio

Python的历史 Python是自由软件的丰硕成果之一 创始人 Guido van Rossum 时间地点 1989年圣诞节期间在阿姆斯特丹创造 名字来源 大蟒蛇飞行马戏团的爱好者 渊源 从ABC发展而来 主要受Modula-3的影响 结合了Unix shell和C的习惯 开发的原因只是为了打发圣诞节的无趣。 ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。因此Python与其它的语言如C,C++和Java结合的非常好。同时,他还实现了在ABC中闪现过但未曾实现的东西,因为他本人也是ABC的设计者之一 Modula-3(另一种相当优美且强大的语言,为小型团体所设计的) Gingko Studio

Python的语言特点 Python是一种面向对象的解释性语言 Python是免费的 Python是可移埴的 Python是可扩展的 参照网页《什么是Python》 CSDN Python被认为是一种解释性语言,但是与其他解释性语言不同的是它支持对操作系统的底层访问.因而,通常将划分在处于VB或PERL到系统级的C语言之间的位置. 此外,它还有编译的过程,让生成的字节码在Python虚拟机上跑.不过Python模块的字节码是可以保存的,在需要的时候不需要重新编译,而且产生的字节码完全独立于平台和操作系统! 因为免费,所以我们能做更多的事情,甚至可以下载其源代码 许多操作系统都支持Python,事实上Python最先是在MacOS创造的 因为Python是用C写的,其部分扩展是用C++写的,而其源代码又是可以获得的,所以Python与C/C++的结合非常好,甚至在移植的过程中都不必去重写Python代码(因为其跨语言支持)。此外还有用Java写的Python—JPython,它与Java的衔接也非常好。 Python语言的核心很小,语义和样式非常简单,只须半天就可搞定。但是若要达到高手级的地步则需要花费很多时间去学习其中的扩展和库,尤其是与其它语言如TK集成时更要认真思考。 几乎没有Python办不到事情。 它提供了基本的构建块以及大量的附加模块; 由于可以使用C/C++/Java对Python进行扩展,因此你可以用它来开发任何类型的程序 Python还提供了一些必要的挂钩、函数和扩展,使用我们还可以对操作系统的特定区域进行底层访问。 Gingko Studio

Python的语法特点 Python是一种语法表达极其优美的脚本语言 运行方式 命令行、交互式、图形集成环境 面向对象 甚至还支持异常处理 运行方式 命令行、交互式、图形集成环境 面向对象 甚至还支持异常处理 模块和包 与Java类似,还开发了JPython 语言扩展 可以用C/C++/Java编写新的语言模块 SWIG(简单封装和接口生成器 ) 参照网页《什么是Python》 China Linux 现在已经出现了许多用Python编写的可视化编程软件,用于实现象Delphi一样的功能。 这一点更象是Java。尤其是JPython,它完全支持Java,在这个环境下使用Python可以随意地使用Java的类库。 可以用C、C++或Java为Python编写新的新言模块。或者与Python直接编译在一起,或者采用动态库装入方式实现。还有一个专门为Python自动实现函数接口封装的工具,这就是SWIG(简单封装和接口生成器 ) Gingko Studio

一个Python的例子 Gingko Studio

为什么是Python Python有什么魅力值得我们去学习 它使程序员的生活更有趣 简单易学 功能丰富 如果你要编写代替自己工作的应用程序,C/C++/Java并不是最好的选择,因为它们太大太烦,而Python简洁而又能实现得很好。 c和java都有严格但罗索的语法,有永远学不完的函数、类、库。 perl有各种怪里怪气的速记符号,程序常常让人头晕。 python有丰富的数据类型,有完备的面向对象的结构,有规则表达式等各种方便编程的模块。 具有非常好的界面友好性。 Gingko Studio

为什么是Python 和其它语言的比较 Shell Script太旧了 Perl太古怪,根本没法看懂别人写的程序 PHP只适合做网页,离开网页它什么都不是 Tcl/Tk基本变量形式只有字符串,运算时还得变来变去 Java太伟大了,大到即使一个几个代码的小程序也会让你等死 这里再说一下Python与PHP和Per的比较 Python是设计出来的,而 PHP 和 Perl 是累积而来的 Python的作者是数学家,而 Perl 的作者则是个天才程式员 Python语法很整洁、编码很规范(这是强制的),可读性很好 Python一开始的架构就考虑得比较好,而PHP和Perl的很多功能都是后面再加上去的。 Python的缺点在于它OO不纯,效率不高,但是在CPU如此发达的今天效率还是主要问题吗? Gingko Studio

如何进入Python 以FC2为例 查看是否安装了Python的rmp包 $rpm –q python 进入Python的命令行模式 … <<< Gingko Studio

概要 一、Python亲密接触 二、异域风情,Python的语法 1. Python的历史 2. Python的语言特点 无处不在的“引用” 强大的运算符 人性化的条件表达式 繁杂的逻辑操作符 别具一格的块分隔符 扩展的数组结构 友好的下标操作符 怪异的函数 独特的类 包的导入 Gingko Studio

Python的语法 Python的语法是大家讨论的一个热点 优美? 简洁? 非常不灵活? 零乱? 有趣! Gingko Studio

无处不在的“引用” 在Java中基本数据类型(整型、字符等)都不是引用 Python中每个值(而不变量)都有一个唯一的标识 任何变量名之间的赋值都是引用的赋值 >>> x = 9 >>> y = x >>> z = x >>> y is x True >>> z is x True >>> x is 9 True Gingko Studio

强大的运算符 实现了更多的、更实际的运算符 乘幂 虚数的表示和复数间运算 字符串的乘法 >>> 3 ** 2 9 >>> a = 3 + 3j >>> b = complex(4, 4) >>> print a / b 0.75 + 0j >>> 2 * “Hello” ‘HelloHello’ Gingko Studio

人性化的条件表达式 C/C++/Java中能连续比较吗? 与数学方法上表示相近的连续比较 >>> x = 9 >>> 6 < x < 10 True Gingko Studio

繁杂的逻辑操作符 我不明白为什么Python要把逻辑操作变得如此繁杂 未进行符号化,用文字and,or,not表示 数字和字符串都能参与逻辑运算 and:只要左边表达式的值为真,就返回右边表达式的值 否则返回左边表达式的值 or :两边表达式都为真时,返回左边表达式的值 一真一假就返回真表达式的值 两者都为假时就返回右边表达式的值 Gingko Studio

繁杂的逻辑操作符 让我来看看这种“特色” >>> 9 and "OK" 'OK' >>> "OK" and 9 9 >>> "OK" and "ME" 'ME' >>> "" and 9 '' >>> "" and "OK" '' >>> 0 and "OK" 0 >>> “” or 0 >>> 0 or “” “” 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 Gingko Studio

扩展的数组结构 Python中提供了比C/C++/Java中强大得多的类数组结构 列表可以认为就是常说的数组 >>> li = [ “a”, “b”, “c” ] 序列就是不可变列表,或者说常值数组 >>> t = ( “a”, “b”, “c” ) 字典的功能类似于Java中的Map >>> d = { “k1”: “v1”, “k2”: “v2” } 三种结构都具有相应的操作方法,也可以把它们看做一个类和类的操作 Gingko Studio

友好的下标操作符 还记得C/C++/Java中数组的下标操作符 [ ] 吗? 它不仅充当下标操作符,还实现了串的分割操作 >>> str = “Hello” >>> str [ -1 ] ‘o’ >>> str [ 0 : 2 ] ‘He’ >>> str [ : 4 ] ‘Hell’ >>> str [ 2 : ] ‘llo’ >>> str [ : ] ‘Hello’ 这里可以提一下的是在Python中下标是可以为负数,即从后向前数,最后一个字符的下标是-1 在接下来的陈伟的报告中你们将会看到更强的下数 个人认为存在负数的下标本身是搅乱人的思维,并不是一种可取的方法 Gingko Studio

怪异的函数 Python中函数的参数定义完全可以用怪异来形容 关键字:函数调用中指定列参的名字就可以不按顺传参 >>> def salary( base, rate ): . . . return base - base * rate . . . >>> salary ( rate = 0.1, base = 800 ) 720.0 此外,Python中对函数名本质上是当做一种变量来处理的,也就是说可以将函数名通过等号赋值给其它变量,那么同样可以通过被赋值的变量来调用函数体中的代码 Gingko Studio

独特的类 它的独特体现在类属性的设置和成员方法的参数上 类的属性是动态增加的 特殊的形参self 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 关于这一块我准备说两点: 1。属性的动态增加。 存在的原因:Python中没有变量的声明,变量名第一次出现时就必须赋值,所以才把属性的增加做成动态的 会有什么后果:在调用相应函数前如果没有增加相应的属性就会报错。但是有可以通过函数查看对象的属性dir 2。为什么不用C/C++/Java中的this代替self? 不太清楚,也只能算是个人理解,没时间去找相应的资料 Gingko Studio

包的导入 使用和Java中相同的关键字import 存在两种不同的导入方式 >>> import math >>> from math import * 大家可以回顾一下UML中的access和import from形式会导入名空间,引用时就没用必要加模块(包)名了,这样会产生覆盖 Gingko Studio

其它 最后再介绍一下其它有类有关的的地方 存在操作符的重载 >>> def __add__(self, other): 存在异常处理 try…except 类的继承 class DerivedClassName(modname.BaseClassName): 1。Python的重载函数是通过“普通函数”来实现的 2。try…except 3。 Gingko Studio

总结 参考资料 http://python.cn/ http://www.python.org/ http://www.csdn.net/ 参考资料 http://python.cn/ http://www.python.org/ http://www.csdn.net/ 报告者 蒋松 Gingko Studio(银杏工作室) Gingko Studio

谢谢 *^_^* Gingko Studio