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

相关文章

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal