长见识-python小知识
操作系统:桌面操作系统,服务器操作系统,嵌入式操作系统,移动设备操作系统。
作用:1直接控制计算机不同的硬件比如cpu,硬盘等进行工作。
2 把操作这些硬件的方法封装成一个又一个的系统调用, 供其他成员(应用程序)直接访问。
虚拟机:指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。
在命令提示符中输入:python -V,pip -V等,看对应软件版本。
查看使用pip安装的软件包 默认Python3pip list
查看python 路径:where python
查看pip安装的软件包路径 例如:pip show pyqt5
1,函数:
就是把具有独立功能的代码块组织为一个模块,在需要的时候调用;
定义:
def 函数名():
----(4个空格缩进)函数封装的代码
调用函数:通过函数名()即可完成对函数的调用;在函数名后面的小括号内部填写参数,每个参数之间使用“,”分隔。
形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用。
实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的。
函数返回值:函数完成工作后,最后给调用者的一个结果。
return表示返回,后续代码都不会被执行。
如果函数A中调用了函数B,那么执行到调用函数B时,会首选把函数B中的任务执行完,才回到A中B的位置,继续执行后续的代码。
2,模块:
好比是工具包,要使用这个工具包中的工具,就需要导入(import)这个模块。每个以扩展名‘.py’结尾的python源代码都是一个模块。在模块中定义的全局变量,函数都是模块能够提供给外界直接使用的工具。
使用模块中的工具:如print_sth模块中定义了print_num()函数
a,import print_sth
=>print_sth.print_num()
b,from print_sth import print_color
=>print_color()
c,from print_sth import print_color as color
=>color()
d,from print_sth import *(全部引入)
=>print_color()
模块名(模块文件的名字)也就是一个标识符;
为了避免模块名冲突,python又引入了按目录来组织模块的方法,称为包(package),如:
引入包之后,abc.py模块的名字就变成了mycompany.abc。注意,每个包目录下面都会有一个_init_.py文件,这个文件必须存在,否则python就把这个目录当成普通目录,而不是一个包。_init_.py可以是空文件,也可以是python代码,因为_init_.py本身就是一个模块,名字为mycompany。
3,类,对象,实例
对象:一个对象包含了数据和操作数据的函数
类:是一个模板
实例:是根据类创建出来的一个一个具体的“对象”;每个“对象”都有着相同的方法,但各自的数据可能不同。
类定义:
class 类名(从哪里继承下来):
----。。。。
创建实例:类名+()实现;
类包括:数据成员(属性),函数成员(方法)
self参数传进来的就是创建的实例本身。在类中定义的函数(方法),第一个参数永远是实例变量self,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入。
class student(object):
def__init__(self,name):(初始化对象,创建实例时会自动执行;在初始化函数里的非self参数,我们在创建实例时需要将参数传进去)
self.name=name
给实例绑定属性。
class student(object):
name='student'
给student类绑定属性‘
class的属性同时属于实例。在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。
在类中,根据变量定义的位置不同,以及定义的方式不同,类属性又可以细分为以下三种类型:
- 类体中,所有函数之外:类属性(类变量)
- 类体中,所有函数内部,以“self.变量名”的方式定义的变量:实例属性(实例变量)
- 类体中,所有函数内部,以“变量名 = 变量值”的方式定义的变量:局部变量
当子类的和父类都存在相同的方法时,我们说子类的该方法覆盖了父类的方法,在代码运行时,总是调用子类的方法。在定义了一个class的时候,我们实际上就定义了一种数据类型。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?