python期末冲刺
Python基础知识
Python语言中,一切皆为对象,而每个对象都属于某个数据类型
python2与python3的不同(Print):
python没有考虑向下兼容,即python3不能不加修改地去运行一个用python2语法编写的程序
python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构;
Python2打印时可以不加括号:print ‘hello world’, Python3则需要加括号 print(“hello world”)
Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的一些行为,不得不使用raw_input()代替input()
Python的主要优点:
(语法简洁 跨平台 胶水语言 开源 强制可读 支持中文 支持面向对象和面向过程 类的 库丰富)
Python执行代码的两种方式:文件式和交互式
Python的书写规范(变量 标识符 保留字 内置函数 缩进)
Python有一个非常丰富的库,包括标准库和第三方库。以下是一些常用的库:
标准库:
math
:提供数学函数和常量。datetime
:提供日期和时间处理功能。os
:提供操作系统相关的功能,如文件和目录访问。sys
:提供Python解释器相关的功能和变量。json
:提供JSON文件的读写功能。random
:提供生成随机数的功能。re
:提供正则表达式相关功能。
第三方库:
numpy
:提供强大的数值计算功能,特别是对于矩阵和向量运算。pandas
:提供数据分析和数据处理的功能。matplotlib
:提供数据可视化功能,可以绘制各种图表。scikit-learn
:提供机器学习算法和数据挖掘工具。tensorflow
和pytorch
:提供深度学习的功能。requests
:提供HTTP请求功能,可以用来爬取网页数据。flask
和django
:提供Web开发的功能。
Python的数据类型主要有以下几种:
- 数值型:包括整型(
int
)、浮点型(float
)、复数(complex
)和布尔型(bool
)。 - 序列类型:包括不可变(字符串(
str
)、元组(tuple
))和可变(列表(list
))。 - 集合类型:包括集合(
set
) - 字典数据类型:dict。例如:{1: “one”, 2: “two”}
pow()-求幂次的函数
元组也称之为定值表,用于存储值固定不变的值表
s1=(1,2,3)
列表也称之为表,用于存储其值可变的表
s2=[1,2,3]
字符串是包括若干字符的序列数据,支持序列数据的基本操作
s3=”Hello, world”
s3[:5] 输出 ‘Hello’
字典
Python的书写规范主要遵循PEP 8(Python Enhancement Proposal 8),以下是一些基本的规范:
- 变量和标识符:变量名和标识符应该是小写的,如果由多个单词组成,应该用下划线分隔。例如:
my_variable
。类名应该使用驼峰命名法,即首字母大写,例如:MyClass
。 - 保留字:Python有一些保留字,这些词不能用作变量名或标识符。例如:
and
,as
,assert
,break
,class
,continue
,def
,del
,elif
,else
,except
,False
,finally
,for
,from
,global
,if
,import
,in
,is
,lambda
,None
,nonlocal
,not
,or
,pass
,raise
,return
,True
,try
,while
,with
,yield
。 - 内置函数:Python有一些内置函数,例如:
print()
,len()
,type()
,str()
,int()
,float()
,list()
,dict()
,set()
,tuple()
,range()
,input()
,open()
,help()
,dir()
,abs()
,sum()
,min()
,max()
,round()
,sorted()
,reversed()
,enumerate()
,zip()
,map()
,filter()
,reduce()
等。尽量不要用这些函数名作为变量名,以免引起混淆。 - 缩进:Python使用缩进来表示代码块,通常使用4个空格的缩进。不同的缩进级别表示不同的代码块。例如:
1 | def my_function(): |
Python的缩进和注释:(选择填空判断)
严格缩进 可以通过什么样的方法来引入注释
单行注释:在注释文本前使用井号(#)
多行注释:在注释文本前后使用三个单引号(’’’)或三个双引号(”””)
Python的命名规则:
区分大小写 数字不能出现在首字符 中间不能出现空格
Python代码可以通过两种主要方式执行:文件式和交互式。
- 文件式(脚本模式):在这种模式下,你会将你的Python代码写入一个
.py
文件中,然后使用Python解释器来运行这个文件。例如,如果你有一个名为script.py
的文件,你可以在命令行中输入python script.py
来运行这个脚本。这种方式适合于运行较长的、需要保存的程序。 - 交互式(命令行模式):在这种模式下,你可以直接在Python的交互式解释器中输入并执行代码。你可以在命令行中输入
python
来启动Python解释器,然后在提示符>>>
后面输入Python代码,按Enter键即可立即执行。这种方式适合于快速测试代码片段或进行简单的计算。
IPO描述(选择填空判断)
IPO是指 input process output
接收华氏温度和摄氏温度并相互转换的IPO描述是什么?
Input-输入:带华氏或摄氏标志的温度值
Process-处理:根据温度标志选择适当的温度转换算法
Output-输出:带有摄氏或华氏标志的温度值
numpy
numpy是第三方库,需要安装
内置方法
统计元素个数-np.size()
元素包含的字节长度-np.itemsize()
创建全为0的矩阵-zeros
全为1的矩阵-ones
单位矩阵-identity
更改维度-reshape
可以实现转置的操作(array.T np.transpose(array) array.swapaxes(0,1))
可以实现平铺的操作 (array.flatten() 和array.ravel(),它们的区别是前者修改之后不会改变原有矩阵的数据)
改变维度案例
1 | import numpy as np |
1 | c = np.arange(1, 25).reshape([2, 3, 4]) |
numpy广播
1 | a = np.array([1, 2, 3]) |
文件的读写
文件的分类(二进制文件和文本文件)
打开文件的两个参数 (mode 文件名)
模式:这是一个字符串,用于指定打开文件的模式。以下是一些常见的模式:
'r'
:只读模式。这是默认模式,如果你不提供模式参数,open()
函数会以只读模式打开文件。'w'
:写入模式。如果文件已存在,这将覆盖现有文件。如果文件不存在,将创建一个新文件。'a'
:追加模式。如果文件已存在,这将在文件的末尾添加新内容。如果文件不存在,将创建一个新文件。'x'
:创建模式。这将创建一个新文件。如果文件已存在,这将引发错误。'b'
:二进制模式。这用于非文本文件,如图像和可执行文件。't'
:文本模式。这用于文本文件。这是默认模式,如果你不提供模式参数,open()
函数会以文本模式打开文件。
这些模式可以组合使用。例如,'rb'
表示以二进制模式打开一个只读文件,'wt'
表示以文本模式打开一个写入文件。
例如,如果你想以写入模式打开一个名为myfile.txt
的文件,你可以这样做:open('myfile.txt', 'w')
。
打开文件相关的保留字:(with as)
在Python中,打开文件时常常会使用到with
和as
这两个保留字。
- **
with
**:with
语句在Python中被用于异常处理,它可以提供一种方式,使得代码更加简洁,同时在处理文件对象时,可以自动关闭文件。 - **
as
**:as
在Python中是别名,用于创建一个别名。
当你打开一个文件时,你通常会这样做:
1 | with open('myfile.txt', 'r') as file: |
在这个例子中,with open('myfile.txt', 'r')
打开文件,并创建一个上下文。as file
创建了一个别名file
,这就是我们将要操作的文件对象。当with
语句的代码块执行完毕后,文件会自动关闭,这就避免了我们忘记关闭文件的可能性,使得代码更加安全。
打开文件的读取方法包括:readall();read();readline();readlines()
1 | # 打开文件 |
这里是指本来fo的角标已经指向后面了,但是现在利用seek归零了
递归和循环
基本例题
公约数公倍数
斐波那契
python库的安装
使用pip工具 pip install 库
pip可以实现安装扩展包 可以卸载扩展包 可以更新扩展包。
库的几种导入方法
from <库名> import <函数名>
from <库名> import *
turtle画图库的使用
import turtle
import numpy as np
turtle相应的方法:goto(),penup(), pendown(),pensize(), pencolor(), turtle.fd(), turtle.circle(), turtle.setheading(angle)-turtle.seth(angle)(angle: 行进方向的绝对角度), turtle.left(angle) turtle.right(angle)(同样是绝对角度)
使用turtle库中的turtle.fd()函数和turtle.seth()函数绘制一个等边三角形,边长为100
1 | from turtle import * |
选择题
或的话,数字越大越容易出,and的话有0则先0,无0则先数字大,False和True优先出True
简答题
保留字
Python的保留字(也称为关键字)是预定义的、具有特殊含义的标识符。这些关键字不能用作变量名、函数名或任何其他标识符。以下是一些Python的关键字及其用法:
and
:逻辑与操作符。如果两个操作数都为真,则结果为真,否则为假。例如:if a and b:
。or
:逻辑或操作符。如果两个操作数中至少有一个为真,则结果为真。例如:if a or b:
。not
:逻辑非操作符。如果操作数为真,则结果为假,反之亦然。例如:if not a:
。if
、elif
、else
:用于条件控制语句。例如:1
2
3
4
5
6pythonCopy codeif a > b:
print("a is greater than b")
elif a == b:
print("a is equal to b")
else:
print("a is less than b")for
、while
:用于循环控制语句。例如:1
2pythonCopy codefor i in range(5):
print(i)或
1
2
3pythonCopy codewhile a < 5:
print(a)
a += 1break
、continue
:用于循环控制,break
用于立即退出当前循环,continue
用于跳过当前循环的剩余部分并进入下一次循环。def
:用于定义函数。例如:def my_function():
。class
:用于定义类。例如:class MyClass:
。try
、except
、finally
:用于异常处理。例如:1
2
3
4
5
6pythonCopy codetry:
# try to execute some code
except SomeException:
# handle the exception
finally:
# this code will be executed no matter whatimport
、from
:用于导入模块。例如:import math
或from math import sqrt
。pass
:一个空操作语句,用于在语法上需要一个语句,但程序需要什么都不做的情况。例如,在定义一个空函数或类时:def my_function(): pass
或class MyClass: pass
。