
一、Python - 基础
文章平均质量分 82
非编程工作者和新手一起入门Python
0思必得0
命由天定,福自己求!
展开
-
Python特性
3.1 Python特性Python是为可读性设计的,与英语有一些相似之处,并受到数学的影响。比如:Python使用新行来完成命令,而不像通常使用分号或括号的其他编程语言。 Python依赖缩进,使用空格来定义范围;例如循环、函数和类的范围。其他编程语言通常使用花括号或关键字来实现此目的。 Python中没有单个字符,单字符被认为是1个字符的字符串。 对象有类型,变量无类型3.1.1 Python注释#:单行注释,Python解释器会忽略#号后面跟着的所有的字符。>>>原创 2022-05-01 13:46:14 · 5443 阅读 · 0 评论 -
类方法和对象方法
zhangsan.eat():这句代码是执行了zhangsan对象中的eat方法,结果就是执行了定义时的语句:print(‘我在吃饭,别烦我。方法的本质其实就是函数,在模块中定义就是函数,在类中定义就是类的方法。定义了一个函数,而这个函数是在类中定义的,则称为这个类的方法。开头的方法名,表示该方法是一个私有方法,在类的外部是不可以直接访问的。3、方法的调用为:对象.方法(参数),在调用时,开发者不需要再手动传入一个实参给前面说的。的方式(和第一形参对应)调用对象属性,但是不能调用类属性。原创 2023-02-25 15:21:55 · 6165 阅读 · 0 评论 -
Python简介
原创 2022-03-27 16:18:33 · 5186 阅读 · 0 评论 -
集合(set)
返回两个集合中不重复的元素的集合(对称差)。set函数可以创建一个普通的集合(可以修改),但是通过frozenset函数创建的集合是一个不可修改的集合,创建后就不能再修改里面的元素,包括增加、删除、清空等。集合中的元素不能重复,即使向集合中再添加同样的元素,也只会保留一个。集合中的元素是无序的,我们通过print可以显示集合内的元素,但是显示的结果并非是集合中的元素的顺序。集合中不能添加可变对象(不可哈希),因为无法判断两个可变对象是否相同,也就无法保证集合的内部不会有重复元素。指定删除集合中的元素。...原创 2022-08-15 20:08:03 · 5827 阅读 · 0 评论 -
Python集成开发工具(IDE)推荐
1.7 Python集成开发工具(IDE)推荐1.7.1 Notepad++Notepad++是Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能。Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。Notepad++是免费软件,可以免费使用,自原创 2022-03-29 15:58:36 · 16617 阅读 · 0 评论 -
元组(tuple)
使用元组可以使程序运行性能提升,因为一般来说,创建元组类型tuple的变量比列表类型list要快,而且占用更小的存储空间。>>> tup5 = (‘red’, ‘green’, ‘blue’) # 元组中存放的全是字符串。由于元组是可哈希的,因此无法删除元组中的某个元素。>>> tup3 = (‘a’, ‘b’, ‘c’) # 元组中存放的全是字符。>>> tup4 = (1, ‘a’, ‘中’) # 元组中存放混合数据。>>> tup2 = (1,) # 仅一个元素的元组,必须在后面添加。...原创 2022-08-11 09:08:13 · 7607 阅读 · 0 评论 -
定义(创建)、调用函数及返回值
要调用一个函数,首先要定义它。在Python中使用关键字def来定义一个函数。函数通常由函数名、参数列表以及一系列语句组成的函数体构成的。def 函数名(参数列表) :函数体最简单的函数:上面的函数是在Python中定义的最简单的函数,虽然没有实际作用,但是它符合Python定义函数的规则。def关键字函数名:myfun,函数名的命名需满足Python中标识符的命名规范。包含参数的括号(必须是英文括号):这个函数没有参数冒号(必须是英文冒号):这也是Python函数定义时必不可少的部分。原创 2022-11-26 21:22:44 · 5982 阅读 · 0 评论 -
字典(dict)
字典是Python中一种非常重要的数据类型。字典和之前的列表、元组不同,里面的元素使用键-值对进行存储。通常字典中元素的键由字符串或数字等可哈希数据类型组成。可以把字典想象成一个集合,只不过每个元素都是由键-值对组成。字典中的元素的键是不能重复的。字典中的元素也是无序的,这点和集合一样。可以通过键获取集合中元素的值,并且速度要远快于列表。这种速度上的差异在数据量特别大时更加明显。原创 2022-08-20 14:07:21 · 5781 阅读 · 0 评论 -
函数的特殊使用方式
1、装饰器函数此时并不是通过参数来传入被装饰的函数,而是定义装饰器自己的参数,演示时使用的是一个位置参数n,在后续如果遇到比较复杂的情况下也可以使用关键字形参、*args、**kwargs等收集参数。当一个装饰器装饰函数时,函数的功能增强了,因为在调用这个函数时,实际上调用的是在定义装饰器函数时,其内部函数。当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。,并且这个内部函数体中使用到了外部函数的变量。原创 2023-01-01 19:25:40 · 6009 阅读 · 0 评论 -
文档字符串
这个时候就可以为自己编写的函数、模块或者类添加相应的文档字符串(docstring)进行说明了。同理,如果想要在函数中添加文档字符串,也是需要在定义函数后马上跟上函数文档字符串内容。放在函数开头的字符串称为函数文档字符串(docstring),将作为函数的一部分存储起来。一般的,如果想要在模块中添加模块文档字符串,则需要在模块的最上方用3个双引号引住内容,这部分内容则自动会被识别为模块的文档字符串。注意:模块文档字符串上方可以有注释内容,但是不能有任何Python语句,否则不会被识别成模块文档字符串。原创 2023-01-10 22:17:04 · 5283 阅读 · 0 评论 -
数据类型前置知识
顾名思义,数据类型就是指数据的类型,计算机不像人,能够很好的分辨数据类型,比如,计算机就不知道这个数据到底是字符串还是数值。计算机在用这个数据进行计算时就会出现问题。为了避免这种情况,需要对数据贴一个标签,这个标签就是类型。告诉计算机遇到这种数据应该怎么处理。哈希(Hash),一般翻译做散列、杂凑。是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。原创 2022-06-20 21:50:35 · 5266 阅读 · 0 评论 -
Python函数的参数
调用函数时,Python语言必须将函数调用中的每个实参都关联到函数的相应形参。最简单的关联方式是基于实参的顺序,这种关联方式被称为位置参数。位置形参:在定义函数时,按照从左到右的顺序依次定义形参位置实参:在调用函数时,按照从左到右的顺序依次传入实参示例4:通过位置参数输出学生的成绩def sum_score4(a , b , c) : print(f'语文: {a } ,数学: {b } ,英语 {{def sum_score4(a , b , c) : print(f'语文: {原创 2022-12-13 10:28:59 · 8135 阅读 · 0 评论 -
列表(list)
因为,在列表末尾添加和删除元素非常快,但在列表开头插入或移除元素却很慢(因为所有其他元素都必须移动一位)。Python列表中的元素类型可以不同,可以存放各种各样的数据,比如数字、字符串、函数、类、字典等,甚至还可以嵌套存放列表。第一个参数是插入元素的索引,因此,a.insert(0,x)在列表开头插入元素,a.insert(len(a),x)等同于a.append(x)。删除列表中指定位置的元素(第i个元素,如果索引越界了则会报错IndexError),并返回被删除的元素。...原创 2022-07-29 21:05:05 · 6091 阅读 · 0 评论 -
类相关函数(反射机制)
字符串可以为某现有属性的名称,或为新属性。如果对象允许,该函数将删除指定的属性。这2个函数的实参都是一个对象和一个字符串。如果字符串是对象的属性之一的名称,则返回 True(获取),否则返回 False(报错)。注解:由于私有名称混合发生在编译时,因此必须手动混合私有属性(以两个下划线打头的属性)名称以便使用 setattr() 来设置它。在 Python 中使用反射可以得到对象的属性,即:反过来让对象告诉我们他的相关信息是什么,用于实现在运行时获取对象的相关信息。带参数时,返回参数的属性、方法列表。原创 2023-03-03 09:17:19 · 5206 阅读 · 0 评论 -
Python函数
在Python语言中,由开发者自己定义的函数称为自定义函数。当内建函数不能满足要求时,开发者可以根据实际需要自定义函数。函数自定义完成后,开发者可以在其他代码处通过函数名调用。自定义函数和内建函数的定义方式是相同,只不过是自定义函数是由开发者定义的,而内建函数是安装Python后自带的。两者的调用方式都是一样的。原创 2022-10-16 20:48:08 · 5398 阅读 · 0 评论 -
实战:第一个Python程序
1.5 实战:第一个Python程序接下来我们尝试编写第一个比较完整的Python程序。在编写之前我们先来了解一下Python的输入输出函数和Python源码第一行的编写建议。1.5.1 输入输出函数Python中最常用的输出函数是print,它可以将给定的内容显示到控制台中。调用的方式如下:print("要显示的内容")Python中最常用的输入函数是input,它可以接收一个用户的输入并返回。调用的方式如下:in = input("用户输入时的提示内容:")因为要返回用户输入的结果,原创 2022-03-28 21:52:10 · 6580 阅读 · 0 评论 -
使用pip管理库
2.5 使用pip管理库安装Python后会默认安装pip工具,该工具可以用来安装、升级和移除库。默认情况下 pip 将从[Python Package Index]https://pypi.org处下载安装软件包。pip 有许多子命令: "install", "uninstall", "freeze" 等等。下面我们来介绍一些比较重要且实用的pip命令。2.5.1 安装、升级库(install)通过指定包的名称来安装最新版本的包:>>> pip install nova.原创 2022-04-13 12:21:26 · 6173 阅读 · 2 评论 -
可迭代对象
遍历的本质其实就是在我们使用for或者while循环可迭代对象时会自动调用该可迭代对象的__iter__()方法得到其迭代器,然后通过这个迭代器的__next__()方法一步步获取下一个元素。的子集,生成器一定是迭代器,但是迭代器不全是生成器。Python中有很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都是可迭代的,被称为可迭代对象。你的数据量过大,大到足以撑爆你的内存或者你以节省内存为首选因素时,将数据集设置为迭代器是一个不错的选择,节省内存,按需取值。原创 2022-09-17 10:03:51 · 15269 阅读 · 0 评论 -
Python常用库
2.4 常用库2.4.1 time 时间的访问和转换 该模块提供了各种与时间相关的函数。相关功能还可以参阅 datetime 和 calendar 模块。2.4.2 datetime 基本日期和时间类型 datetime 模块提供用于处理日期和时间的类。2.4.3 calendar 日历相关函数 这个模块让你可以输出像 Unix cal 那样的日历,它还提供了其它与日历相关的实用函数。默认情况下,这些日历把星期一当作一周的第一天,原创 2022-04-13 09:09:53 · 5425 阅读 · 0 评论 -
Python执行机制
1.4 Python执行机制Python中IDLE是其自带的集成开发工具(IDE:同时拥有编辑、编译、调试、运行等多种功能的集成工具),并且它也是Python自带的编译器和解释器。1.4.1 Python执行过程1,我们通过文本编辑器或用自带的IDLE编辑器创建py文件,并在其中编写Python命令,编辑完成并调试无误后保存。2,通过在IDLE中执行Run Module(或快捷键F5)运行程序,运行的过程本质是IDLE先调用自身的编译功能转换该程序为二进制形式的中间编码,并整理为PyCodeO原创 2022-03-28 21:31:20 · 6067 阅读 · 0 评论 -
Python表达式
3.4 Python表达式Python表达式是运算符和操作数进行有意义排列所得的组合。操作数可以是值、变量、标识符等。单独的一个值或一个变量也是一个表达式。表达式是Python程序中最常见的代码。表达式是一段可以被求值的代码。因为可以被求值,所以一般表达式可以写在赋值语句=的右边。表达式可以作为语句的组成部分。以下都是Python表达式:5 + 3 3 ** 2 -66 a > 3 b == c d in e f is not g not h 3.原创 2022-05-21 18:22:10 · 13132 阅读 · 0 评论 -
Python变量
变量,顾名思义,就是可以变化的量。变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中对象的类型。如果有个数据不被任何变量所指向,则会被Python的回收机制回收掉,以节省内存。在Python中,一切皆对象。变量就是对象的名字!原创 2022-09-25 10:48:37 · 5613 阅读 · 0 评论 -
Python入门技巧
1.6 Python常用技巧以下介绍了一些比较实用的Python学习技巧,可以让初学者快速上手。1.6.1 help函数help用于启动Python内置的帮助系统(此函数主要在交互式中使用)。一般用在交互模式中。用来在控制台上打印某个模块、函数、类、方法、关键字等的帮助信息。示例:>>> help(print)Help on built-in function print in module builtins:print(...)print(value, ..., s原创 2022-03-29 16:03:18 · 5406 阅读 · 0 评论 -
Python中如何处理异常?Python异常的处理
除了Python自带的异常外,开发者为了方便还可以自定义异常类。但是不论是以直接还是间接的方式,异常都应从 Exception 类派生。异常类可以被定义成能做其他类所能做的任何事,但通常应当保持简单,它往往只提供一些属性,允许相应的异常处理程序提取有关错误的信息。大多数异常命名都以 “Error” 结尾,类似标准异常的命名。许多标准模块都需要自定义异常,以报告由其定义的函数中出现的错误。自定义异常类testcatch。原创 2023-03-19 14:00:48 · 7176 阅读 · 0 评论 -
Python运算符
3.3 Python运算符运算符用于执行程序代码运算,根据操作数一般分为一元运算符、二元运算符。例如:2+3,其操作数是2和3,而运算符则是+。在Python中运算符可以分为以下几种类型:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。3.3.1 算术运算符+、-、*:分别对应数学中的加减乘,在此不做过多的赘述。/:除法,注意结果返回的是浮点数。4 / 2 → 2.0%:取模,返回除法的余数。7 % 3 → 1**:幂运算。4 ** 2 → 16//:取原创 2022-05-12 18:03:17 · 5631 阅读 · 0 评论 -
数字(number)
Python中数字类型有4种:形如:1、233、-6、69这样的数据都是整型。1、在Python3中只有一种整型int,表示长整型,没有Python2中的long。2、理论上Python3中的int类型可以表示无限大的整数(取决于你的电脑内存)>>> 2**2003、二进制数据以0b开头,比如0b10表示十进制的24、八进制数据以0o开头,比如0o10表示十进制的85、十六进制数据以0x开头,比如0xFF表示十进制的255在Python3中,bool是int的子类。True和False可以和数字直原创 2022-06-26 15:31:59 · 5312 阅读 · 0 评论 -
Python简单语句
Python简单语句Python语句由关键字、标识符、表达式组成。语句的根本作用就是执行某些修改操作,让代码发挥作用去做某些事。语句从执行结构上来分有顺序、条件、循环结构,这3种结构可以实现任何算法功能。Python语句根据代码占用的逻辑行数分为只占用1行的简单语句和占用多行的复合语句。3.5.1 赋值语句赋值语句用于将名称(重)绑定到特定值,以及修改属性或可变对象的成员项。x = 23 x, y = 2, 3 # 多个变量的赋值 a = 2, 3 m = n = .原创 2022-05-22 15:07:54 · 5378 阅读 · 0 评论 -
Python复合语句
3.6 Python复合语句复合语句是包含其它语句(语句组)的语句;它们会以某种方式影响或控制所包含其它语句的执行。通常,复合语句会跨越多行,虽然在某些简单形式下整个复合语句也可能包含于一行之内。if、while和for语句用来实现传统的控制流程构造。try语句为一组语句指定异常处理和/和清理代码,而with语句允许在一个代码块周围执行初始化和终结化代码。函数和类定义在语法上也属于复合语句。一条复合语句由一个或多个子句组成。一个子句则包含一个句头和一个句体。特定复合语句的子句头都处于相同的缩进层级。原创 2022-05-29 22:20:40 · 5391 阅读 · 0 评论 -
Python包和库
2.3 包和库2.3.1 包的概念包是在模块之上的概念,为了方便管理而将多个脚本文件(模块文件)进行打包。包是一种用点式模块名构造 Python 模块命名空间的方法。例如,模块名 A.B 表示包 A 中名为 B 的子模块。正如模块可以区分不同模块之间的全局变量名称一样,点式模块名可以区分 NumPy 或 Pillow 等不同多模块包之间的模块名称。包其实就是文件夹,包和文件夹的一大区别在于:包内存放了一个名为__pycache__的文件夹和__init__.py文件,该文件的内容就将是包的内容。原创 2022-04-12 12:33:50 · 8144 阅读 · 0 评论 -
Python代码块及输入输出
前面分别介绍了关键字、运算符,由运算符和操作数组成了表达式。而语句由关键字、标识符、表达式组成。而代码块由若干条语句组成。通常Python中的代码块是通过缩进来创建的。在很多语言中,都使用一个特殊的单词或字符,比如或来标识代码块的起始位置,并使用另一个特殊的单词或字符,如或来标识结束位置。在Python中,使用冒号指出接下来是一个代码块,并将该代码块中的每行代码都缩进相同的程度。发现缩进量与之前相同时,你就知道当前代码块到此结束了。使用缩进来表示新的代码块是Python语言的特色之一。Python使用p原创 2022-06-18 17:55:01 · 5862 阅读 · 0 评论 -
JSON数据类型
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。原创 2022-09-10 10:58:36 · 5404 阅读 · 0 评论 -
类型转换及相关函数
返回的序列的值为start到stop-1,步长为step。chr()函数的实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果有base参数,则x必须为字符串,返回的结果为将x作为base参数指定的进制数转换成10进制后的数。在Python中,不同的数据类型是可以相互转换的,下面列举一些之前没有介绍但是比较常见的数据类型转换及相关函数,以供参考。返回的序列的值为0到stop-1,步长为1。返回 Unicode 码位为整数 i 的字符的字符串。返回obj的字符串版本示例。原创 2022-10-05 11:20:03 · 5240 阅读 · 0 评论 -
Python模块
2.2 模块在Python中,经常会遇到一些文件组织概念,比如库、包、模块等。下图就是这几个概念大致的关系。可以看到,库是包含包的,而包又是很多个模块(脚本)组成的。接下来我们来一一介绍这几个概念。注意:在之后学习中的组织结构和命名参考下图。模块一般有两种,广义的模块和狭义的模块。广义的模块其实就是包含能实现一些特定各种功能的集合,这个其实就是库的概念了。广义的模块我们将在后续介绍。而狭义的模块就是py等可执行的Python脚本文件。通常里面会定义一些相似功能的类和函数,我们在需要的时候可以导原创 2022-04-12 10:02:02 · 5136 阅读 · 0 评论 -
Python入门之程序bug的产生及调试程序
objprint是一个第三方库,这个第三方库主要是用来弥补系统的自带print函数对于自定义对象的调试不友好而开发的。objprint的安装pip install objprintobjprint打印自定义对象属性。原创 2023-03-25 11:32:34 · 5562 阅读 · 0 评论 -
字符串(str、bytes)
字符串由一系列字符组成,字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符串是编程语言中表示文本的数据类型。字符串就是由一个个元素(字符)组成的。像这种由一个个元素按照顺序组成的数据,在Python语言里面,把这种特性的数据称之为 sequence,翻译成中文就是。关于序列,我们将在后续内容中详细介绍。字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集有:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符原创 2022-07-13 10:33:57 · 8452 阅读 · 0 评论 -
面向对象编程
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。在该思想中程序里万物都是对象。OOP把对象作为程序的基本单元,把具有相同行为的对象归纳成类,通过封装隐藏类的内部细节,通过继承使类得到泛化,通过多态实现基于对象类型的动态分类。封装、继承和多态是面向对象编程的三大特点。原创 2023-02-07 10:56:00 · 5222 阅读 · 0 评论 -
类属性和对象属性
注意:按照约定俗成的规定,以一个下划线开头的实例变量名(例如_age)在外部是可以直接访问的(弱私有),但是这个形式的变量表达的意思是,“虽然我可以被访问,但是请把我视为私有变量,不要随意访问”。在修改时,可以访问就可以修改,只不过对于类属性,对象修改后不会影响到类,类修改后也不会影响到对象。通过上面的代码可以看到,通过对象是可以正常访问到对象属性的,通过类可以访问到类属性,但是不能访问到对象属性。我们可以看到,如同一般的属性一样,对于类属性,对象修改后不会影响到类,类修改后也不会影响到对象。原创 2023-02-20 18:04:02 · 6009 阅读 · 0 评论 -
Python运行
1.3 Python运行Python安装好之后,一般有3种运行模式,即:交互模式(命令行交互模式、Python解释器交互模式、IDLE Shell交互模式)、命令行脚本、集成开发环境。1.3.1 交互模式命令行交互模式当我们安装好Python之后进行测试时,打开了CMD命令窗口并输入Python回车后就会进入到Python的命令行交互模式。如下图:我们可以看到,在输入Python命令后,CMD反馈的信息为:Python 3.10.2 (tags/v3.10.2:a58ebcc, Ja原创 2022-03-28 21:17:24 · 12270 阅读 · 0 评论 -
模块、包、库前置知识
2.1 模块、包、库前置知识这一章节我们来了解下Python编程中经常遇到的模块、包、库及虚拟环境。在开始学习之前我们需要了解一些前置知识。2.1.1 Python脚本文件类型Python编程中编写的脚本通常是以文件形式保存在磁盘中的。其中常见的脚本文件类型如下:文件类型 文件说明 .py 源文件 .pyc 源文件编译后的文件 .pyo 源文件优化编译后的文件 .pyd 其他语言写的Python库 Python在运行时会先将源码py文件编译成原创 2022-04-11 22:13:25 · 5512 阅读 · 0 评论 -
Python中什么是异常,Python中有哪些异常
如前面所述,虽然Python代码通过了解释,但是在执行时仍有可能触发错误,而这类的错误就称为异常。大部分异常会导致程序无法继续执行。一旦程序运行后发现有异常,Python会直接显示异常的信息,通常包括:异常出现的地方、异常的类型和内容。如下:我们可以看到上述示例中的异常类型依次是:ZeroDivisionError, NameError 和 TypeError。原创 2023-03-12 13:35:01 · 6548 阅读 · 0 评论