人工智能和机器学习--PPT02-Python编程简介.pdf
《人工智能和机器学习--PPT02-Python编程简介.pdf》由会员分享,可在线阅读,更多相关《人工智能和机器学习--PPT02-Python编程简介.pdf(64页珍藏版)》请在咨信网上搜索。
1、Python编程简介王秋月中国人民大学信息学院目录 Python起源 为什么要学习Python?怎样高效学习Python?Python的开发环境 Jupyter Notebook Python基本编程 数据类型和变量 运算符和表达式 容器类型 控制流语句 函数 文件操作Python起源1989年末,Guido van Rossum为了打发圣诞节的无聊,创造了Python语言。2005年12月,入职Google工作。2012年12月,加入Dropbox公司。Guido van Rossum(1956-)TOBIE IndexIEEE top programming languages of 20
2、19Python特点丰富的库简单、易学可扩展、可嵌入解释性面向对象、高层免费开源、可移植为什么要学Python?人生苦短,我用Python!Python的特点 简单、易学简单、易学 一种代表简单主义思想的语言,有简单的语法,容易上手。伪代码本质是它最大的优点之一。使你能够专注于解决问题而不是去搞明白语言本身。面向对象的高层语言面向对象的高层语言 无需关注底层细节,而C/C+中需要操作指针。与其他语言相比,以强大而又简单的方式实现面向对象编程。解释性解释性 不需要被编译成二进制代码,可以直接在源代码上运行。对于编译性语言(C/C+),源文件-编译/链接器-可执行文件。Python的特点 免费开源
3、,可移植性免费开源,可移植性 Unix衍生系统,Win32系统家族,掌上平台(掌上电脑/手机),游戏控制台(PSP)等等。可扩展性,可嵌入性可扩展性,可嵌入性 如果一段关键代码希望运行得更快或者希望算法不公开,你可以把这部分程序用C或C+编写,然后在Python程序中使用。可以把Python嵌入到C/C+程序中,从而向程序用户提供脚本功能。丰富的库丰富的库 Python标准库确实很庞大,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器等等。此外还有其他高质量的库,如wxPython、Twisted和图像库等等。如何高效学习Python?不需要具有计算机专业的学位 不需要上一门完整的
4、Python编程课 不需要记住所有的语法 自顶向下学习法:先学习核心的编程概念 再学习使用一些相关的库 最后通过实际项目来运用知识和改进技术Python 2还是Python 3?Python 3不向下兼容Python 2,即Python 2中的一些函数和包不能在Python 3中使用 2010年发布的Python 2.7是Python 2最后的版本,Python 2将不再更新 2020年1月1日起,Python核心开发团队将不再对Python 2提供任何官方支持 Python 3是未来的主流 本课程中使用Python 3Python的开发环境 Anaconda 一个用于科学计算的Python发
5、行版 提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题 支持 Linux,Mac OS,Windows系统 下载:https:/ NumPy(http:/www.numpy.org/):用于处理(大)数组 Pandas(http:/pandas.pydata.org/):数据分析工具包 Matplotlib(http:/matplotlib.org):用于绘制图表 SciPy(http:/www.scipy.org):包含许多有用的科学函数 Scikit-learn(http:/scikit-learn.org/):机器学习算法 IPython
6、(http:/ipython.org/):基于Shell或浏览器的开发环境 Spyder(https:/www.spyder-ide.org/):交互式集成开发环境 此 前 被 称 为 IPythonNotebook 多语分析环境支持40多种编程语言 Jupyter 是 Julia,Python和R几个词的变位词 支持多种内容类型:代码、描述文本、图像、视频等等 http:/jupyter.org/Jupyter Notebook HTML&Markdown LaTeX(公式)Code(代码)Jupyter Notebook HTML&Markdown LaTeX(公式)Code(代码)Jup
7、yter Notebook HTML&Markdown LaTeX(公式)Code(代码)Jupyter Notebook HTML&Markdown LaTeX(公式)Code(代码)Jupyter Notebook 代码被划分成多个单元代码被划分成多个单元,可以控制执行过程可以控制执行过程 允许进行交互式开发允许进行交互式开发 非常适合探索式分析与非常适合探索式分析与建模建模Jupyter Notebook%matplotlib inline 将图表显示在Jupyternotebook中Jupyter魔术命令%matplotlib inline 将图表显示在Jupyternotebook中
8、Jupyter魔术命令%matplotlib inline 将图表显示在Jupyternotebook中%timeit 记录一个单元的执行时间Jupyter魔术命令Jupyter魔术命令%matplotlib inline 将图表显示在Jupyternotebook中%timeit 记录一个单元的执行时间%run filename.ipynb 运行另一个notebook或python文件的代码Jupyter魔术命令%matplotlib inline 将图表显示在Jupyternotebook中%timeit 记录一个单元的执行时间%run filename.ipynb 运行另一个notebo
9、ok或python文件的代码%load filename.py 将外部文件的内容拷贝粘贴到单元中import caffeSolverName=/root/workspace“sovler=caffe.AdamSolver(SolverName)test.pyJupyter快捷键可以通过Help Keyboard Shortcuts查看所有的快捷键从命令行转换:从命令行转换:jupyter nbconvert-to python notebook.ipynb从从Notebook导出代码:导出代码:抽取Python代码Jupyter Notebook参考资料 Jupyter官网:https:/ju
10、pyter.org/Jupyter Notebook快速入门:http:/ 一个语句占一行 单个语句占多行,用反斜杠 多个语句在一行,使用分号;分隔 Python使用缩进表示代码块,而不是一对花括号 注释:单行注释用#多行注释用三个单引号 或者三个双引号 将注释括起来Hello World!print函数:print(“Hello World!”)数据类型(1)基本数据类型:数字(number)整数(int):2,59,100,-3 小数(float):0.4,5.0,-0.78 布尔(bool):True,False 字符串(str):”How are you?”,this is a str
11、ing.数据类型(2)容器类型:列表(list):1,2,5,10 元组(tuple):(1,two)集合(set):Mike,John,Marry 字典(dictionary):20120010:98,20120011:89,20120023:100变量 变量在被赋值的时候创建,无需声明 变量可以在任何时候被重新赋值为任何其他类型的值message=“Hello World!”print(message)message=“Hello Python Course!”print(message)type(message)message=3.6print(“Python“,message)type
12、(message)message=100print(“There are“,message,“cars”)type(message)a,b,c,d=20,5.5,True,4+3jprint(type(a),type(b),type(c),type(d)变量命名规则 变量名只能包含字母、数字和下划线。变量名只能以字母或下划线开头。变量名是大小写敏感的。变量名不要使用Python的关键字或函数名下面哪些变量名是不合法的:current balance,current_balance,currentBalance,current-balance,4account,account4,_spam,_S
13、pam,print,hello算术表达式 基本的算术运算符:+、-、*、/、/、%、*5+4#加法4.3-2#减法3*7#乘法2/4#除法,得到浮点数2/4#除法,得到整数17%3#取余2*5#乘方x=3print(type(x)#Prints print(x)print(x+1)print(x-1)print(x*2)print(x*2)x+=1print(x)x*=2print(x)y=2.5print(type(y)#Prints print(y,y+1,y*2,y*2)布尔表达式 True 和 False为预定义值;实际上是整数1 和 0 比较运算符:、=、=、!=,结果是布尔值 布尔
14、运算符:not、and、or12 1312=1212!=13True*120 and 1(3+2)(5-7)(7=6)and(12!=21)t=Truef=Falseprint(type(t)#Prints print(t and f)#Logical AND;print(t or f)#Logical OR;print(not t)#Logical NOT;print(t!=f)#Logical XOR;字符串 字符串用单引号或双引号括起来 使用反斜杠转义特殊字符:n 换行符,t 制表符,三引号用于大块的文本内容a=Hello world!b=Hello world!a=ba=Pers le
15、ctureprint(a)a=One line.nAnother line.print(a)b=One line,another line.print(b)字符串运算36#字符串拼接a=Part 1b=and part 2a+b#字符串重复并拼接s=a*2print(s)#提取子串s0print(s0:4)print(s5:)print(s6:-1)#字符串长度len(s)#子串检测p in sP in sPart in s字符串不能改变37#直接修改字符串会报错s0=B#构建新字符串s=B+s1:Python中的字符串不可修改!hello=helloworld=world“#字符串格式化hw
16、12=%s%s%d%(hello,world,12)print(hw12)如果要改变一个字符串:用旧的字符串片段生成一个新的 如果要生成许多新串,尝试字符串格式化 列表(List)处理能让字符串处理更为有效字符串的方法38s=a string,with stuffs.count(st)#有多少子串?s.find(stu)#寻找子串,如果有,给出子串的位置s.replace(stuff,characters)#替换子串(全部出现过的子串)s.replace(s,X,1)#只替换一次s=3s.isdigit()#是纯数字串吗?字符串有一组内建(built-in)方法 没有方法可以改变原串,有几个方
17、法可以生成新串s=helloprint(s.capitalize()#首字母大写;输出Helloprint(s.upper()#所有字符转换成大写字符;输出HELLOprint(s.rjust(7)#右对齐,左端补空格;输出 helloprint(s.center(7)#居中对齐,左右两端补空格;输出 hello print(world.strip()#去除前后的所有空白符;输出world列表39r=1,2.0,3,5#列表实例,不同的值type(r)#输出r1#通过下标来访问;偏移量为 0 r-1#负的下标代表从尾部开始计数r1:3#列表的片段;给出新的列表w=r+10,19#合并列表;给出
18、另外的一个列表wr#原列表不变;w 和 r 不同t=0.0*10#用重复生成一个初始向量t 有序的对象序列 异质的;可以包含任意类型的对象的混合列表操作40r=1,2.0,3,5r3=word#通过下标改变一个元素(项)r#显示1,2.0,3,wordr0=9,8#列表可以嵌套r#显示9,8,2.0,3,wordr0:3=1,2,5,6#改变列表的一个片段,可以改变列表的长度r#显示1,2,5,6,wordr1:3=#通过设置列表的片段为空集来移除元素r#显示1,6,wordlen(r)#列表的长度,即项的个数,显示36 in r#成员测试,显示Truer.index(6)#搜索并给出位置,如
19、果没有的话,报错,这里显示1列表是可变的,可以改变局部列表的方法(1)41r=1,2.0,3,5r.append(thing)#在列表尾增加一个项r#显示1,2.0,3,5,thingr.append(another,list)#增加的列表被看作一个单一项r#显示1,2.0,3,5,thing,another,listr=1,2.0,3,5r.extend(item,another)#列表的项逐次添加r#显示1,2.0,3,5,item,anotherk=r.pop()#移除最后一项k#显示anotherr#显示1,2.0,3,5,itemr.insert(3,4.0)#在指定位置插入一项r#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 机器 学习 PPT02 Python 编程 简介
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。