逻辑式程序设计语言-程序设计语言原理课件.ppt

上传人(卖家):三亚风情 文档编号:2429124 上传时间:2022-04-17 格式:PPT 页数:50 大小:970KB
下载 相关 举报
逻辑式程序设计语言-程序设计语言原理课件.ppt_第1页
第1页 / 共50页
逻辑式程序设计语言-程序设计语言原理课件.ppt_第2页
第2页 / 共50页
逻辑式程序设计语言-程序设计语言原理课件.ppt_第3页
第3页 / 共50页
逻辑式程序设计语言-程序设计语言原理课件.ppt_第4页
第4页 / 共50页
逻辑式程序设计语言-程序设计语言原理课件.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持Python概述 Python是一种开源的 、解析性的,面向对象的编程语言; Python使用一种优雅的语法,可读性强; Python支持类和多层继承等的面向对象编程范型; Python可运行在多种计算机平台和操作系统中,如unix,windows,MacOS,OS/2等等。https:/stackoverflow.blog/2017/09/06/incredible-growth-python/?cb=1Python 是访问量增长最快的主流编程语言Pytho

2、n特性 面向对象 内置丰富的数据结构 简单性 健壮性 跨平台 可扩展 动态性 强类型 应用广泛使用python安装python, 请参阅:http:/www.python.org 运行python脚本: 交互式运行(在Windows平台下有GUI界面) 执行python脚本文件 在Linux/UNIX环境下运行程序 在python头部加一行:#! /usr/local/bin/python chmod +x myfile.py ./myfile.py (当然也可以直接以python myfile 方式执行)Python与其他语言比较 Python与其他语言比较 比Perl的语法和设计更简单 比

3、Java更简单、更易于使用 比C+更简单、更易于使用 比Visual Basic更强大也具备跨平台特性 比Ruby更成熟、语法更具有可读性 具备SmallTalk和Lisp等动态类型的特性,但是对于开发者定制系统的终端用户来说更简单,也更接近传统编程语言的语法Python的缺点 Python的缺点 运行速度不够快 开发速度与运行速度之间的矛盾 至今还没有一门编程语言,开发速度比Python快,运行速度比C快Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持内置数据类型 内置数据类型: 列表(List), 元组

4、(Tuple), 字典(Dictionary或Hash), 序列 变量的定义: 在Python中,变量的类型是由赋给它的数值定义的; q = 7 #q其为数值型变量 q = “Seven” #q为字符串型变量序列 序列是具有索引和切片能力的集合; 切片:把序列切成小块; 列表、元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力; 列表、元组、字符串都属于序列。列表(List) List是一种有序的集合,可以随时添加和删除其中的元素。List里数据类型可以不同; classmates = 张三, 李四, 王二 用索引来访问List中每一个位置的元素,索引是从0开始的: cla

5、ssmates0 张三列表(List) List对象支持的方法 append(x) count(x) :x在List中的个数 extend(L) Index(x) insert(i, x) pop(x) remove(x) reverse() sort()元组(Tuple) List和Tuple是Python内置的有序集合:一个可变,一个不可变; classmates = (张三, 李四, 王二) 元组可以用方括号括起下标做索引; 元组一旦创建就不能改变; 列表大部分操作同样适用于元组,没有append(),insert()方法。字典(Hash) 字典是一个用大括号括起来的键值对,字典元素分为

6、两部份,键(key)和值(value)。 字典是python中唯一内置映射数据类型。通过指定的键从字典访问值。 字典与列表最大的不同是,字典是无序的,字典中的元素可以通过健来访问的; 字典也是可变的,可以包含任何其他类型,字典中没有位置的概念。 例如:“取字典的第一个元素?” 说法错误,因为字典没有位置概念; 字典的使用: a = a:aa, b:bb ac=cc aa / aa字典(Hash) 字典的常用方法: has_key(x) keys() values() items() clear() copy() update(x) get(x,y)集合(Set) Set和Hash类似,也是一组

7、key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。 要创建一个Set,需要提供一个List作为输入集合:s1= set(1, 2, 3),s2 = set(2, 3, 4) 两个Set可以做数学意义上的交集、并集等操作: s1 & s2 2, 3列表、元组、字典的共同点 都属于Python内置数据结构; 都用于管理多个元素; 都是线性结构; 都提供丰富的对管理元素进行操作的功能; 列表、元素、字典中各元素均采用逗号进行分隔; 列表、元组、字典内各元素类型可以不同;列表、元组、字典的不同点 列表内元素用括号包裹,元组内元素用小括号()包裹,字典内元素用大括

8、号包裹; 列表、字典内的元素个数及元素的值可以修改,元组内的元素个数及元素的值不可以修改(元组可以看出是只读的列表);Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持条件、循环语句 结构化程序设计的三种基本结构: 顺序结构 选择结构 循环结构 Python支持三种不同的控制结构:if,for和while,不支持C语言中的switch语句。if 条件语句 if 语句的用法:if EXPRESSION1: STATEMENT1elif EXPRESSION2:STATEMENT2else: STATEMENT3

9、for循环语句 for语句的用法:mylist = for statementfor word in mylist:print wordelse: #最终执行 print End listwhile循环语句 while语句的用法:a = 0while a 5: a = a + 1 print aelse:print as value is fivebreak、continue、pass语句 break: 跳出最近的整个循环(跳出整个循环语句); continue: 跳出本次循环(后面的代码)(继续执行下一个循环); pass: 空占位语句,不作任何事情; break语句与continue语句的

10、区别: break语句跳出整个循环; 而continue语句只是跳出当前循环(continue后面的语句将不再执行),会继续执行下一次循环。Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持函数和函数式编程1. 函数定义2. 函数变量作用域3. 函数参数4. Lambda函数5. 常用内置函数6. 函数高级主题Python 函数定义 函数定义:def function_name(arg1,arg2,.):statementreturn value 函数名: 函数名必须以下划线或字母下划线或字母开头,可以包含任

11、意字母、数字或下划线的组合。不能使用任何的标点符号; 函数名是区分大小写的; 函数名不能是保留字。Python 函数作用域 Python使用名称空间的概念存储对象,这个名称空间就是对象作用的区域, 不同对象存在于不同的作用域。 不同对象的作用域规则不同对象的作用域规则: 每个模块都有自已的全局作用域。 函数定义的对象属局部作用域,只在函数内有效,不会影响全局作用域中的对象。 赋值对象属局部作用域,除非使用global关键字进行声明。 LGB规则 大多数名字引用在三个作用域中查找:先局部(Local),次之全局(Global),再次之内置(Build-in)。若仍然找不到这个变量名,则引发Nam

12、eError异常。Python 函数参数 函数的参数分类: 默认参数:def function(ARG=VALUE) 元组参数:def function(*ARG) 字典参数:def function(*ARG) 一些规则: 默认值必须在非默认参数之后; 在单个函数定义中,只能使用一个tuple参数(*ARG)和一个字典参数(*ARG); tuple参数必须在连接参数和默认参数之后; 字典参数必须在最后定义。lambda函数 Python允许用lambda关键词创造匿名函数,匿名是因为不需要以标准的方式来声明,比如说,使用def语句,然而,作为函数,它们也能有参数。 这个表达式的定义体必须和声

13、明放在同一行: 语法: lambda (parameters): expression lambda函数可看做仅有参数的特殊函数,后面必须是表达式或调用别的函数。 g=lambda x:x*2 g(3) / 6 g(“abcd”) / abcdabcd内置特殊函数 Abs ( x ):abs ( ) 返回一个数字的绝对值,如果给出复数,返回值就是该复数的模。 Callable ( object ) :callable ( ) 函数用于测试对象是否可调用,如果可以则返回True,否则返回False,可调用对象包括函数、方法、代码对象、类和已经定义了“调用”方法的类实例。 Isinstance (

14、 object, class-or-str-or-tuple ) :测试对象类型 ,如果为真,返回为True,如果为假,返回为False,如isinstance (a, str ) 。 divmod ( x, y ) : divmod ( x, y ) 函数完成除法运算,返回商和余数。 pow (x, y ,z ) : pow ( ) 函数返回以x为底,y为指数的幂,如果给出z值,该函数就计算 x 的 y次幂值被 z 取模的值。 len ( object ):len ( ) 函数返回字符串和序列的长度。函数高级主题 函数嵌套(embedded) Python函数是可以嵌套的,也就是说可以将一个

15、函数放在另一个函数里面。 函数递归(recursion) Python函数是可以递归的,意思是函数可以调用函数自身,就是函数自己调用自己。def func(n): def func1(m): print(n*m) return n*m return func1print(func(10)(9)901000000000def factorial(n): if n=1: return 1 else: return n*factorial(n-1) factorial (10)3628800 factorial (50)3041409320171337804361260816606476884437

16、7641568960512000000000000经典阶乘运算经典阶乘运算Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持Python 面向对象编程1. 类与对象的定义2. 类的构造函数3. 类与对象特点Python 面向对象编程 类和对象是面向对象编程的两个主要方面: 类创建一个新类型,而对象是这个类的实例 ; 这类似于上面一个类Bird(),而b1是类Bird的一个实例,也就是类的一个对象(实例); 类的组成元素: 关键字(类):class 类的名字: Class_name 构造函数: _init_(s

17、elf) / 在其他语言中,self称为”this”; 类的方法: class_func(self, argv) 类的特性: class_variablePython 面向对象编程 对象定义: class_object_1 = Class_Name() 对象特性: class_object_1.class_variable 对象方法: class_object_1.class_func(argv) class_object_1 = Class_Name() class_object_2 = Class_Name() class_object_1.class_variable class_obj

18、ect_2.class_variable class_object_1.class_func(argv) class_object_2.class_func(argv)Python 类的构造函数 对实例成员变量进行初始化时,需要使用构造方法构造方法的定义格式: def _init_(self, 其他参数): 语句块 当定义类的对象时会自动调用这个”_init_”方法。通过在变量和方法名之前加上两个下划线”_”前缀将其变为私有成员,此时,类之外的任何代码都将无法访问私有成员。Python 类与对象特点 类也是对象 只有你使用关键字class, Python解释器在执行的时候,就会创建一个对象;

19、下面的代码段: class ObjectCreator (object): pass my_object = ObjectCreator () 我们称这个对象为类对象,因为该对象可以实例化,创建实例对象,因此我们称它为类。Python 类与对象特点 访问控制机制 Python提供的访问控制机制,分别是: public和private;Python中,如果函数、类方法和属性如果以两个下划线开头,但是不以两个下划线结束,它就是private的,其他的一切都是public的。Python 类与对象特点 Python的类层次结构: Python 2.2版本以后,采用单根的类层次结构; 单根层次结构:所

20、有类是否都应从单独一个基础类继承? 在Python中,所有类都是Object类的子类。Python中类与对象的关系中类与对象的关系Python 类与对象特点 Python采用两种继承方式: 普通继承方式; super继承方式;普通继承方式super继承方式在在super机制里可机制里可以保证公共父类仅以保证公共父类仅被执行一次。被执行一次。Python 类与对象特点 Python允许单继承、多继承和多重继承;单继承实例单继承实例多重继承实例多重继承实例多继承实例多继承实例Python 类与对象特点 类与对象多态 多态意味着就算不知道变量所引用的对象类型是什么,还是能对它进行操作,而且它也能根据

21、(或者类)对象的类型的不同而表现出不同的行为。多态多态类属类属方法覆盖方法覆盖参数传递参数传递 def add1(x,y): return x+y x=1,y=23 x=“spam”,y=Python add1(x,y)参数传递参数传递方法覆盖方法覆盖Python简介 Python概述 内置数据类型 条件、循环语句 函数和函数式编程 面向对象编程 Python对数据分析和机器学习的支持数据分析的一般过程Python对数据分析的支持Data collection and preparationExploration of dataAnalysisPython机器学习库 Python机器学习库 s

22、cikit-learn: 是一个基于SciPy和Numpy的开源机器学习模块,包括分类、回归、聚类系列算法,主要算法有SVM、逻辑回归、朴素贝叶斯、Kmeans、DBSCAN等; NLTK(Natural Language Toolkit)是Python的自然语言处理模块,包括一系列的字符处理和语言统计模型。文本处理库包括分类、分词、词干提取、解析、语义推理; Theano是一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题; 详见:https:/ “分类”也可以称作监督学习,有助于分类图片,用来识别图片中的特征或脸型,或者通过用户外形来分类用户,并给

23、他赋不同的分数值。 “聚类”发生在无监督学习的情况,允许用户在数据中识别组/集群。 “回归”允许通过参数集估算一个值,可以应用于预测住宅、公寓或汽车的最优价格。基于Python的深度学习框架Theano: 是一个允许你定义、优化以及高效执行包含多维数组的数学表达式的 Python 库;它支持 GPU 操作,并且能够进行高速的符号微分运算;Lasagne: 基于Theano的轻量级神经网络构建与训练库;Blocks: 基于Theano的神经网络构建与训练框架;TensorFlow: 使用数据流图进行数值计算的开源软件库;Keras: 支持卷积神经网络,循环神经网络的 Python 深度学习库,能够运行在 Theano 或者 TensorFlow 之上;MXNet: 致力于提供兼顾性能与灵活性的深度学习框架;PyTorch: 支持强力 GPU 加速的 Python Tensor 与 动态神经网络库。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(逻辑式程序设计语言-程序设计语言原理课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|