python入门完结篇(6)

2024-04-27 22:20
文章标签 python 入门 完结篇

本文主要是介绍python入门完结篇(6),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插入: 1.使用append的方法,使用append往列表末尾新增一个元素。此处的append的是搭配列表对象来使用的,而不是作为一个独立的函数.

而 type print input len自定义函数都是独立的函数,不用搭配任何对象. 而这种需要搭配对象(变量)使用的函数(function)也叫做方法(mothod)

2.使用insert方法往列表的任意位置后来新增元素 insert(指定位置, 元素)

查找:1.用in来判定某个元素是否在列表中存在,存在即True,不存在即为False(元素 in 列表   也可以逻辑取反   元素  not in  列表)

2.使用index方法,来判定当前元素在列表中的位置,得到一个下标,(对象.index(查找的元素))若出现找不到的情况,会抛出异常

删除:1.使用pop(),删除列表中的最末尾元素.

2.使用pop还能删除任意位置的元素,pop的参数可以传一个下标过去  对象.pop(下标)

3.使用remove方法,可以按照值来删除  对象.remove(元素)

连续列表:1.将多个列表连续在一起用+针对两个列表拼接,只是针对当前列表的内容来生成一个更大的新的列表,原有的列表内容不变.

2.使用extend来进行拼接,这个拼接是把后一个列表的内容拼接到前一个列表里面里头来,会改变前一个列表的值.而且不需要单独创建一个接收变量.前一个列表.extend(后一个列表)

3.使用+=来进行拼接,但其实本质上是a=a+b浪费了很多资源,如回收和拷贝构造的时间和空间,且多了三个步骤,第1个是开一个新的大的列表,第2个是将新的大的列表覆盖原有的列表,第3个是要释放原有列表的旧值。

元组:1.创建元组,元祖的类型是tuple

元组和列表的相似体现在:

1.通过下标来访问元组中的元素下标可以从0开始到len-1结束

2.通过切片来获取元组中的一个部分

3.也可同时使用for循环等方式遍历元素

4.可以使用in判断元素是否存在

5.使用index查找元素下标。

6.使用+来拼接两个元组。

但注意:无修改类操作。(例如删除增加等)

当进行多元赋值的时候,其实本质上是元组的方式进行的。

当进行协同开发的时候,程序员a写实现了一些功能提供给程序员b来使用,a写好一些参数,让b去调用,函数要进行传参,以元组的形式传参,可以有效地避免被篡改。

元组不能修改它,为不可变对象。

不可变对象一般是可以哈希的,可变对象是一般不能进行哈希。(可变对象主要是字典、列表因为它们元素可以进行随意改变)(不可变对象主要是指int    float   string等)

字典:储存一种键值对的结构。

键值对:计算机的非常非常的重要的一种概念。

键(key)值(value) 根据键key可以快速找到value(本质其实是一种映射的关系)

在Python的字典中可以同时包含很多键值对,但要求这些键不能重复。键值对形式{key:value ,  key:value…}字典中的key和value的类型不一定都一样,字典对于key是什么类型有约束,但对于value是什么类型无约束.一般没写一行,因为不直观,一般写成这样多行更直观,最后一个键值对的逗号可有可无。 

在字典中查找有两种方式:1.可以用in来判断某个key是否在字典中存在  2.使用这个[]来根据key来获取value

对于字典来说使用in或者[]来获取value都是非常高效的.

对于列表来说用in比较低效因为要全部遍历,而使用[]是比较高效的.

在字典中新增键值对的方式:在字典中新增元素用[]来进行,例:对象[key]=value. 如果key不存在往里写,相当于新增键值对,如果key存在往里写,相当于根据key修改value.

删除:使用pop方法,根据key来删除键值对,对字典的各种操作都是围绕key来进行的.

字典被设计出的初衷不是为了遍历,而是为了增删查改,时间复杂度O(1),增删查改都是固定时间,不会因为元素多了而操作就慢了。

字典是哈希表进行增删查改操作的效率非常高,而字典的遍历则效率差一些。

遍历:1.用for循环,来遍历字典.在Python中能够保证遍历的顺序和插入的顺序保持一致

2.使用keys()、values()、items()(分别表示所有的key,所有的value,所有的键值对)

key类型的约束:不是所有类型都可以作为字典的key,因为字典本质为哈希表而表中key要求可哈希的,也就是可以计算出一个哈希值,刚好Python有一个内联函数哈希hash可以计算函数哈希值,注意字典dict和列表list是不可哈希的.

字典和列表、元组是Python当中非常常见的内置类型,相比于int string float,它们内部可以包含很多元素,所以被称之为"容器和集合类"

文件操作:   CPU 储存器  输入设备,输出设备储存器当中又有内存和硬盘之分,内存,变量就是在内存中.  文件和数据就是在硬盘中.  一般的操作流程是先打开文件,读文件,写文件,后关闭文件.打开文件操作当中有一个内联函数open('路径 ', '进行的操作 ','若是写读的操作,则这里是编译的方式encoding,若不写则默认为编译方式为utf8 ')内联函数open的返回值是文件类型变量,因为文件的内容是在硬盘上的,此处文件对象是在内存上的一个变量,后续文件操作都是拿着这个文件对象进行操作的,此处的文件对象就像一个遥控器一样专业的术语叫做句柄handle.常见的进行操作,有' r'读   ' w'写(这个显示把原有文件里面的内容全部清空,然后再写),但这个'a '写  (这个写是在原有文件内容的末尾)   关闭文件使用close  形式:对象.close()

每个程序在启动的时候都会默认打开三个文件:1.标准输入(体现在键盘)2.标准输出(体现在显示器)3.标准错误(体现在显示器)

文件资源泄露其实是一个很重要的问题.  因为文件使用完之后一定要关闭,打开文件其实是在申请一定的系统资源,  不再使用文件的时候,资源应及时释放,否则就可能造成文件资源的泄漏, 进一步导致其他大部分的代码无法顺利打开,正是因为一个系统的资源是有限的,因此一个程序能打开的文件个数也是有限的.

python当中有一个很重要的机制,垃圾回收机制GC  自动的将不使用的变量给释放掉.

虽然Python给了我们一个后手,让我们一定程度的避免了上述问题,但是也不能完全依赖自动释放机制,因为制动释放机制不一定及时,它需要判定是否为垃圾,那这需要以一定时间周期,如果在这周期内我就直接打开了所有文件,导致文件泄露了,所以不应该完全依赖他,而应该有关闭文件操作的意识。

讲讲具体操作,:1.先打开open('路径 ','w或者a')取决于之前它们俩的区别  2.变量.write('内容 ') 3.变量.close()如果文件对象已经关闭了,那就意味着系统和该文件相关的内存资源已经释放了,若强行写则会抛异常.

:1.先打开open('路径',' r')2.变量.read(数字)这个数字表示多少数字的字符(不是字节哦)注意中文和英文相似,在计算机中都是使用数字来表示字符的, 哪个数字对应哪个汉字常见的版本有:GBK  UTF8这两种编码方式.在哪里看呢?在文本记事本右下角有编码方式,如果没有的话,那就从菜单,选择文件,选择另存于就可以看到编码方式了. 读的编码方式,应与文件的编码方式一致.系统默认编码方式为GBK,UTF8是比GBK使用更广泛的编码方式.上述已经讲了如何对编码方式进行更改 也就是主动调下open的第3个参数encoding=' UTF8'这个也就是关键字参数.而open的前两个参数表示在什么路径下进行怎样的操作,这就是位置参数

2.更常见的需求是按行来读取的,最简单的办法直接for循环.for 变量 in 对象.注意打印的函数print,在末尾会自带一个斜杠n,若不想要它自带的斜杠,则可以自己设定想要末尾是什么,通过print(   ,end=' 自定义')这也就是一个关键字参数。而文本记事本中也会每行的末尾也会自带一个斜杠n.

3.还可以使用readlines方法,直接把整个文件所有内容都读出来,按照行组织的一个列表里

注意我上述所有说的方法,一定要记住这里的方法并不是语文上的方法,而是计算机里面的方法,这是要明确说明对象才能使用的。

上下文管理器:为防止未释放资源,而系统自带帮忙释放。体现在当with对应的代码块结束,就会执行对象的关闭。with open(跟上述一样   )as  对象:会自动帮对象释放资源,所以以后直接用with搭配open来打开文件.

终于终于,Python入门完全结束.很多方面也讲得很详细,各个原因也讲清楚了.真诚的希望各位把本人主页上其他的 Python依次看过来,这样你才能完完全全的知道,整个python的入门知识以及细节。

关注我,和我一起奔赴下一场山海!

12ca4fa2f0c84ff1ab12374557cf87b8.jpeg

 

 

 

 

 

这篇关于python入门完结篇(6)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941682

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该