博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 速效复习汇总(新手慎用)一
阅读量:3934 次
发布时间:2019-05-23

本文共 6669 字,大约阅读时间需要 22 分钟。

Python 速效复习汇总

开始

命令行运行 Python 脚本的步骤:

a、 打开 Command(CMD)

b、 cd 到脚本所在目录下
c、 python script.py

  • 这样操作的前提是,你已经配置好环境变量。

计算机基础部分

  • 计算机定义:计算机是根据指令操作数据的设备,计算机具有功能性和可编程性两大特点

  • 编译和解释的区别:编译是一次编译后,在源代码无改变的情况下,以后执行无需再次编译便可以直接执行,符合批处理系统;解释是按行解释执行,一次一行代码,每次执行都需要重新解释,符合交互式系统。编译的好处就是目标代码执行速度快,在同系列操作系统上使用灵活,不足之处就是可移植性较差;解释程序的好处就是保留源代码,程序纠错方便,可移植性强,脚本可以在任何一台装有相应解释器的设备上运行。

  • 机器语言和汇编语言是CPU所能够直接执行的语言,其余语言都需要编译或解释成汇编语言或机器语言后才能被 CPU 执行

  • IPO 程序编写方法

    Input:每个程序都有数据输入功能。
    Process:每个程序都有相应的事事务处理逻辑。
    Output:每个程序都有将处理结果进行输出的功能。

Python 适应部分

  • Python 作为交互式编程语言,即解释性编程语言,没有所谓的脚本结构,而同样是面向对象编程语言的 C/C++、Java 都有一个基本脚本框架。理论上 Python 脚本可以按行与缩进规则任意编辑代码,但实际上为了适应 Project 的开发,Python 脚本应当做一些结构规范:

  • a、 在 Project 里面的启动程序脚本里,应当设置由如下标识的程序入口: if __name__ == “__main__”:

  • b、 函数式编程:编辑 Python 脚本应当模块化,也就是相应功能封装在一个 def 里面,而不是由着性子随便编辑。

  • c、 缩进一致:由于 Python 不再使用花括号来划分代码域,而是靠缩进来确定代码域,因此不能随便缩进。

  • Python 使用井号“#”“’’’注释’’’”两种分别进行行注释和块注释。引号都必须是英文输入法下的。

  • Python 脚本中的变量名、函数或方法名、属性名等涉及到命名的应当由大小字母、数字和下画线、汉字(不推荐)等组成,并且不得以数字开头下画线或双下画线开头命名的标识符具有特殊含义故而也不得随便使用

保留字:

  • Python 中保留字如下:
    在这里插入图片描述
  • 变量名不得直接使用上述保留字

字符串:

  • 由于 Python 中的字符型数据只有字符串一种,不像 C/C++ 和 Java 有单字符和字符串两种,因此单引号和双引号都可以用来扩起一个字符串,通常以双引号为主。实际使用灵活变化,例如字符串里的值中有双引号,则字符串可以采用单引号括起来,反之则反。另外,由于反斜杠在 Python 中同样具有转义作用,因此字符串中的反斜杠都应当写成双反斜杠。此外,字符串还可以三引号表示,三引号通常用于表示带换行的文本

赋值

  • Python 采用“=”进行赋值,可以单个赋值,也可以多个赋值:a,b=1,2

输入与输出:

  • python 只有一对控制台输入输出函数,分别是:input 和 print,使用格式如下:
    variable = input(“prompt”)
    print(attribute)
  • input 函数的返回值为字符串,参数是提示字符。print 函数的参数可以是任何数据对象。

控制结构:

  • Python 中同样具有顺序执行、选择执行和循环执行三种结构,选择执行由if…elif…else三个关键字灵活组成;循环执行由forwhile标识,while 用法和其他编程语言一样for 循环稍有不同,for 使用形式如下:
    for a in range(start, end, step) 或 for a in object(序列型数据对象,如array、list 等)

eavl() 函数:

  • 该函数可以将字符串中的数字、运算式等转换为 Python 语句并执行,通常用于将input 函数的返回值转换为非字符型数据。

类与函数

  • 函数用 def 标识,如无特别需求,Python 定义函数时并不会显示的规定函数的参数类型和返回值。
  • python 同样用 class 作为类的标识,一个简单的类如下:
class Car:    def __init__(self):        print("你调用的Car 类")        self.__speed = 20        self.__color = "black"        self.__price = 123.456    def setColor(self, color):        self.__color = color    def setSpeed(self, speed):        self.__speed = speed    def setPrice(self, price):        self.__price = price    def Display(self):        print("The color, speed and price of this car is " + self.__color + ",speed: {:d}".format(            self.__speed) + ", price:{:.2f}".format(self.__price))if __name__ == "__main__":    car = Car()    car.Display()    car1 = Car()    car1.setColor("white")    car1.setSpeed(200)    car1.setPrice(45800.425)car1.Display()

程序输出:

在这里插入图片描述

  • 其中 def __init__(self)函数就是类体的初始化函数,也可以理解为构造函数,那些以双下画线开头的变量就是类的私有属性,外部是无法访问到的,只能通过类的公开方法进行间接访问。

异常处理

  • Python 使用 try-except 语句进行异常处理,使用格式如下:
try:	expression sentence 1except ExceptionType1:	expression sentence 2…expect ExceptionType N:	expression sentence 3# try-except 语句还可以跟 else 和 finally 结合使用:try:	expression sentence 1except ExceptionType 1:	expression sentence 2else:	expression 3finally:	expression 4

Turtle 库

  • 即所谓的海龟库,是 Python 提供的一个用于绘制简单图像的图形绘制库

坐标体系

  • 海龟的坐标体系有两套,分别是用户视界和海龟视界,前者以屏幕的纵横为x 轴和 y 轴,方向向右和向上;后者以海龟为中心的前后左右四个方向,注意海龟的初始朝向是朝屏幕右方的,因此可以如此将两个坐标体系联系起来,默认状态下:
    海龟前方就是屏幕右方,海龟左方就是屏幕上方,海龟后方就是屏幕左方,海龟右方就是屏幕下方。
.setup(width, height, startx, starty)width:窗口宽度,整数值表示像素值,小数值表示窗口与屏幕的比例height:窗口高度,值得设置同 widthstartx:窗口左侧距屏幕左侧的像素距离,默认水平居中。starty:窗口顶部距屏幕顶部的像素距离,默认垂直居中。

画笔控制函数

.penup() 函数:笔拿起,该函数之后的任何操作不会在画布上留下痕迹。别名:.pu(), .up().pendown() 函数:笔落下,功能与 penup 函数相反。别名:.pd(), .down().pensize() 函数:设置画笔尺寸,即笔画宽度。别名:.width().pencolor() 函数:设置画笔颜色,参数值可以是颜色名字符串,也可以是(r, g, b)元组。

在这里插入图片描述

形状绘制函数

.fd(distance) 函数:朝当前方向前进 distance 距离,距离为正值则表示前进,距离为负值则表示后退。别名:.forward(distance).seth(to_angle) 函数:用于改变画笔绘制方向,即将画笔设置为to_angle,角度为绝对方向角度值。别名:.setheading(to_angle).circle(radius, extent=None)函数:用于以 radius 为半径画角度为 extent的弧,当第二个参数不指定时,则默认画圆

Python 数据类型

一、 数字类型

  • 数字类型主要有整型和浮点型、复数类型

整数类型:

在这里插入图片描述

浮点类型

  • 对应数学中实数,浮点型必须有小数值,可以为 0,但不能不带,否则无法与整型区分开来
  • 浮点型主要有十进制小数和科学计数法两种表示方法,科学计数法形式如下:
    <a>e<b>=a*10^b.

复数类型

  • Python 支持复数类型,复数的虚部用后缀“j”或“J”来标识,而实部和虚部之间用“+”连接,例如:12.3+4j,1.23e-4+5.67e+89j。对一个复数 z,可以用 z.real 和 z。image 来获取实部和虚部的值。

三种数据类型存在一种逐渐扩展关系:

  • 整数——>浮点数——>复数
    1) 整数之间运算,如果结果是数学意义上的小数,则结果为浮点型
    2) 整数间运算结果为整数的,结果数据类型为整型
    3) 整数和浮点数运算,结果为浮点型
    4) 整数或浮点型与复数运算,结果为复数。

运算符

在这里插入图片描述

运算函数

在这里插入图片描述

转换函数

在这里插入图片描述

二、 字符类型

  • Python 中的字符类型只有字符串,字符串的表示前文已说过。

操作符

在这里插入图片描述

处理函数

在这里插入图片描述

处理方法

在这里插入图片描述

字符串格式化

  • Python 使用字符串对象的 format 方法对字符串进行格式化,该方法使用方法如下:

    “{<参数序号>:<格式控制标记>}”.format(att1,att2….)

  • 其中的格式控制标记,自“:”开始从左向右依次如下:

    在这里插入图片描述

Math 库

数字常数

在这里插入图片描述

数值表示函数

在这里插入图片描述

幂对数函数

在这里插入图片描述

三角函数

在这里插入图片描述

高等特殊函数

在这里插入图片描述

random 库

常用函数

在这里插入图片描述

函数

函数调用过程

  • 1) 调用程序在调用处暂停执行
  • 2) 在调用时将参数复制给函数的形参
  • 3) 执行函数体语句
  • 4) 函数调用结束给出返回值,程序回到调用前的暂停处继续执行

lambda 函数

  • 匿名函数,用于完成简单的功能,类似于C/C++中的宏定义,使用形式如下:
    <函数名> = lambda <参数列表> : <表达式>

可选参数

  • 可选参数即带有默认值的参数,即函数在声明时便为参数赋值,因此可以在使用该函数时可以使用默认赋值。可选参数的位置应当位于参数列表的最右边,即位于非可选参数的右边。例如:def example(a, b=12).

可变数量参数

  • Python 通过在参数列表的最右边的参数带上星号“*”表示可变数量参数,声明形式如下:
    def example(a, *b)同样的可变数量参数也只能在参数列表的最后

参数传递方式

  • Python 中的函数的参数传递有按位置传递和按名称传递两种方式,按位置则实参必须与形参列表一一对应,否则函数结果将出错;按名称传递,即用“形参名=实参”的形式进行传参,此时参数位置可以不必一一对应。

函数变量域

  • 与 C/C++ 和 Java 一样,Python 中函数体内部的变量也是局部变量,只能作用于函数体内部,同样的形参的变化不会影响到实参。如果想函数体内的某个变量作用到函数体外,则可以用global关键字声明为全局变量。

递归调用

  • 递归调用,就是函数自身调用自身,经典例子就是斐波那契数列的求法。

python 内置函数

在这里插入图片描述

  • 上表部分函数说明如下:
    1) all() 函数:针对组合类型数据,若其中每个元素都是 True和非空元素、非 0,则返回True,否则返回 False。
    2) any() 函数:只要组合类型数据中的元素有一个非False,就返回True。
    3) hash() 函数:对于能够计算哈希的类型返回哈希值
    4) id() 函数:对每一个数据返回唯一编号,即数据的内存地址,常用于比较两个数据是否一致。
    5) reversed() 函数:返回输入组合数据类型的逆序形式。
    6) sorted() 函数:对一个序列进行排序,默认从小到大。
    7) type() 函数:返回参数对应的数据类型名称
    datetime 库
    1) datetime.date:日期类,可以表示年月日
    2) datetime.time:时间类,可以表示小时、分钟、秒、毫秒等
    3) datetime.datetime:日期和时间的表示类,功能覆盖date和time
    4) datetime.timedelta:与时间间隔有关的类
    5) datetime.tzinfo:与时区有关的信息表示类

所有计算机都能输出从格林威治标准时间1970年1月1日00:00:00 开始到当下的时间计数,精确到秒。

datetime 类

  • datetime.now() 函数:返回当前日期和时间,精确到秒,2020-06-20 14:54:01.396110。

  • datettime.utcnow() 函数:返回当前日期和时间的 UTC 表示,精确到微秒2020-06-20 06:58:14.231605

  • datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)方法:返回一个指定时间日期的 datetime 类型,可以精确到微秒。其中年份指定必须大于 1970,小于 2^39 (64位系统),微秒则不能大于1 000 000

  • 以下属性或方法的调用都要用datetime对象的“对象名.method()”形式调用

1) 常用属性

在这里插入图片描述

2)常用格式化方法

在这里插入图片描述

3)strftime格式化控制符

在这里插入图片描述

组合数据类型

  • 组合数据类型分为序列类型、集合类型和映射类型

一、 序列类型

  • Python的序列类型主要有字符串、元组和列表。序列类型有12个通用操作符或函数,如下表:
    在这里插入图片描述

1、元组

  • 元组使用圆括号括起来,元素之间用英文逗号分隔,声明时也可以不需要用圆括号
    在这里插入图片描述
  • 元组里的元素也可以是元组。元组一旦声明就不能修改,元组通过“[]”来取指定元素,如下:
    在这里插入图片描述
  • 由上也可以看出,元组里的元素的数据类型可以是不同数据类型的。
  • 元组还可以用tuple() 函数将其他序列型数据转换而得到

2、列表

  • 列表使用中括号“[]”括起来,可以由声明得到,也可用list() 函数转换其他序列型数据而得到。同样的列表中的元素的数据类型可以不一致,元素也可以是一个列表,元素之间用英文逗号分隔。列表也是可以用“列表名[i]”的形式取指定元素的值。列表是几维,就可以有几个中括号,如下
    在这里插入图片描述

列表操作

在这里插入图片描述

二、 集合类型

  • Python 中的集合类型就是集合(set),与数学中的集合一样,是一种无序集,元素类型只能是固定数据类型,Python编译器界定固定数据类型与否主要考察类型是否能够进行哈希运算,能进行哈希运算都能作为集合元素。

  • 能作为集合元素的有整数、浮点数、字符串、元组

  • 不能作为集合元素的有列表、字典和集合类型本身

  • 集合用花括号“{}”括起来,集合可以由用花括号进行声明也可以用set() 函数转换而来

    在这里插入图片描述

操作符

在这里插入图片描述

操作函数或方法

在这里插入图片描述

三、 映射类型

  • 映射类型是“键-值”数据项的组合,元素都是键值对,元素之间无序。通常称键为属性,值为属性值。
  • Python 中为映射类型的数据就是字典(map)。字典的形式如下:
    dict = {<key1>:<value1>, …, <keyN>:<valueN>}
  • 例如:
    在这里插入图片描述
  • 字典中的键值对的访问模式如下:
    <值> = <字典变量名>[<键>]

函数和方法

在这里插入图片描述

四、 遍历元素

  • 所有的组合类型都可以用 for语句进行元素遍历,如下:

元组:

在这里插入图片描述

列表

在这里插入图片描述

集合

在这里插入图片描述

字典

在这里插入图片描述

转载地址:http://jqqgn.baihongyu.com/

你可能感兴趣的文章
C语言动态申请内存
查看>>
cmake万能模板
查看>>
让你不再害怕指针——C指针详解
查看>>
十张图解释机器学习的基本概念
查看>>
红黑树:自平衡的二叉查找树
查看>>
回收站功能在 Linux 中的实现
查看>>
数据包头分析---网络字节序与主机字节序
查看>>
linux sh/bash 编程常用
查看>>
x86寄存器和栈帧
查看>>
计算机科学经典论文(zz)
查看>>
ECC加密算法入门介绍
查看>>
文件系统与NoSQL分布式存储技术对比
查看>>
调试寄存器(debug registers, DRx)理论及实践
查看>>
Linux下逻辑地址-线性地址-物理地址图解
查看>>
vim安装SrcExpl 插件,实现自动显示跳转函数及变量定义功能
查看>>
linux 版本中 i386/i686/x86-64/pcc 等... 的区别
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记11 --- Linear Models for Classification
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation
查看>>
线性代数 | (2) 矩阵Part Two
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记13 --- Hazard of Overfitting
查看>>