python中一些基础知识

Python 基础知识 文章目录Python 基础知识1、关键字和保留字2、字符串相关知识3、标准数据类型4、基础的数学函数5、随机数函数 Python 基础知识 1、关键字和保留字 编写代码,即可输出当前版本所有的关键字和保留字 import keyword if __name__ == '__main__': for kw in keyword.kwlist: print(kw) 具体如下 ['False', 'None', 'True', 'and', 'as', 'assert', 'asy 阅读详情

1、range和xrange的区别

答:首先说明一点xrange函数属于python2中,在python3中都统一使用range。

    range:创建一个list对象,一般用于for循环中。

    

    xrange:生成一个生成器对象,一般用于for循环中。


注意:当需要生成很大的数字序列时,用xrange函数会比range函数性能优很多,因为range函数是直接开辟内存空间,

2、python中的赋值、浅复制、深复制的区别(注意对象的嵌套)

    (1)赋值:复制新对象的引用,不会开辟新的内存空间。

        (2)浅复制:创建新对象,其内容是原对象的引用(仅仅拷贝了一层),分三种形式:切片操作、工厂函数、copy模块中的copy函数。

    切片操作:list1 = list[:] 或者list1 = [i for i in list]

    工厂函数:list1 = list(list)

    copy函数:list1 = copy.copy(list)

    (3)深复制:是全新的对象,和原对象没有任何关联。拷贝了对象的所有元素,包括多层嵌套的元素,这是与浅复制的区别。只有一种形式:copy模块中的deepcopy函数。


3、垃圾回收机制

    python的GC模块主用运用了引用计数来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”解决容器对象可能产生的循环引用的问题。通过分代回收以空间换取时间进一步提高垃圾回收的效率。

    (1)引用计数:当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1,当对象的引用计数减少为0时,就意味着对象已经没有被使用了,可以将其内存释放。

            优点:实时性,任何内存,一旦没有指向它的引用,就会被立即回收。

            缺点:引用计数机制带来的维护引用计数的额外操作与内存分配和释放,引用赋值的次数成正比。另外,引用计数存在循环引用的问题。

    (2)标记-清除:只关注那些可能会产生循环引用的对象,像不可变对象是不可能产生循环引用的,因为它们内部不可能持有其它对象的引用。python中的循环引用总是发生在container对象之间,也就是能够在内部持有其它对象的对象,比如list、dict、class等等。

            原理:1)垃圾检测动作起点:寻找根对象的集合,根对象是一些全局引用和函数栈中的引用,这些引用所指向的对象是不可删除的。

                     2)垃圾检测阶段:寻找可达对象 (沿着根对象集合中的每一个引用,能够达到某个对象) 和不可达对象。

                     3)垃圾回收阶段:保留所有的可达对象,回收其它的不可达对象所占用的内存。(底层采用链表将这些集合对象连接在一起)

            缺点:效率不高。

    (3)分代回收:将系统中的所有内存块根据其存活时间划分为不同的集合,每个集合称为一个“代”。默认有三代对象集合,垃圾收集的频率随“代”的存活时间的增大而减少。也就是说,存活得越长的对象,就越不可能是垃圾。

            如何衡量存活时间:通常利用几次垃圾搜集动作来衡量,如果一个对象经过的垃圾收集次数越多,那么存活时间越长。

4、可变对象和不可变对象

    (1)不可变对象:该对象所指向的内存中的值不能被改变。不可变类型有:数值类型(int和float)、字符串、元组

                    当改变某个变量时,由于所指向的对象不能改变,相当于需要重新开辟新的内存空间,然后变量重新指向新的内存空间。(我的理解:不可变对象(2)在内存空间中的地址是固定的(1438646800),也就是说不论经过多少种操作,最后结果是2,那么该变量引用(a,b,c)都是指向了2的内存地址。相当于每一个不可变对象具有自己的地址,当变量引用要改变时,先开辟新的内存空间存放另一个不可变对象,然后让变量引用指向这个新的不可变对象,原来的就被垃圾回收了。)(不可变对象创建之后不能改变,如果更改则变量会指向一个新的对象。)


    注意:对于str、int、float,只要类型相同,并且值也相同时,它们的id是相同的。元组有某些地方不太一样。

    (2)可变对象:该对象所指向的内存的值可以被改变。可变类型有:列表、字典、集合

                    当改变某个变量时,由于所指向的值也能改变,因此直接改变该值,不需要重新开辟内存空间。(我的理解:当变量引用要改变时,由于是可变对象,变量引用的值可以直接修改,不需要开辟新的内存空间。相当于变量引用不改变指向的内存地址,而是对其内容进行重写)(即可变对象一旦创建之后还可改变但是地址不会发生改变,该变量指向的还是原来的对象。)


    (3)复制时,不可变对象和可变对象的区别


当复制时,变量引用都是指向的同一个内存地址;当原始的变量引用(上图变量a)改变时:对于可变对象,就是将该内存地址的内容进行重写;对于不可变对象,就是先开辟内存空间存放新的不可变对象(上图中的5),使原始变量引用(上图变量a)指向新的不可变对象, 而复制的变量引用(上图变量b)保持不变。

5、引用传递和值传递

    (1)对于不可变对象,函数传参属于值传递;

    (2)对于可变对象,函数传参属于引用传递。而对于可变对象的拷贝,传递的不是引用,而是值。



史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏 网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces... 阅读详情

相关推荐

史上最全的 python 基础知识,没有比这再全面的了,建议收藏

文章目录Python基础知识1、列表2、字典3、集合4、元组5、推导式6、函数7、lambda表达式8 、异常9、文件操作9.1 文件操作9.2 文件夹操作(OS包)10、公共操作10.1 运算符10.2 公共方法10.2.1 len10.2.2 del10.2.3 max和min10.2.4 range10.2.5 enumerater10.3 容器类型转换**tuple****list**set Python基础知识 用type ( 变量 ) 可以查看变量的数据类型 1、列表 ###定义和值相关 #定义

weixin_54707168的博客 5574

python中,@和-> 代表什么?

     在python学习中遇到了“->”符号,刚开始是找不到的,这个在C或者C++语言中链表出现的符号。看介绍很多人也说Python中没有指针的说法,那么这肯定不是指针的指向。       在下面的网址看到一些介绍:https://segmentfault.com/q/1010000014834657          ->常常出现在python函数定义的函数名后面,为函数添加...

u010883226的专栏 3万+

Error: dependent ‘..\..\..\..\Qt\5.15.2\msvc2019\include\QtWidgets\QMainWindow‘ does not exist.

核心问题:修改 Build 目录为源码子目录后,MSVC 编译报错,本质是变量设置异常,导致 qmake 生成多余回溯路径;临时解决:在 .pro 文件添加;最优解决:将上述配置写入 Qt 的 msvc 对应 qmake.conf 全局文件,一劳永逸;禁止 qmake 计算路径时向上回溯,避免生成异常路径。

mumufan05的专栏 878

Python的基础知识

Python的基础知识

隔壁王叔的博客 2万+

看不懂分子动力学模拟的结果?一文读懂RMSD曲线

随后,将每一帧结构与初始模板进行叠合,计算对应原子的平均偏移量,即RMSD。总之,掌握 RMSD 的解读方法,就等于抓住了评估分子动力学模拟成败与质量的“总开关”。①在模拟初始阶段,RMSD会从0迅速上升,这是蛋白质从静态晶体或模型结构释放到溶液环境中并逐渐适应的正常过程。②经过一段时间后,曲线不再系统性上升或下降,而是围绕一个平均值,小幅度地上下波动,形成一个稳定的“平台”。这种情况下,RMSD 在初始快速上升后,并未进入平台,而是持续甚至加速上升,始终未见收敛。🔍 如何解读不同趋势的RMSD曲线。

weixin_46587777的博客 4896

山景BP10_128DBG开发板ADC_Key驱动

最近在学习山景BP10_128DBG开发板,想使用开发板上的按键。看了看原理图和之前用过的按键好像有点不一样。常见的按键都是判断IO口是否被拉低或拉高来判断按键是否被按下。山景BP10_128DBG开发板上的按键是ADC按键,每个按键按下之后ADC的采样值是不同的,通过ADC采样回来的值进而判断哪个按键按下。这种方式核心思想就是用一个ADC通道来节约IO口,对于IO紧张的芯片是一个不错的解决思路。

weixin_56646002的博客 1311

python理论知识点总结_python基础知识总结

python有段时间没用了,实在是惭愧啊,屌丝今天决定开始对python基础知识重新进行总结,以慰自心。一.python概念Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。python定位“优雅”,“简单”,“明确”二.python安装略三.python基础1.输入输出输入输出input/output,简称I/O输出:p...

weixin_31796803的博客 2820

数学建模学习(75):全局敏感性分析Morris 方法

敏感性分析 (SA) 是分析不同应用条件下模型行为的基本实践。提出了许多 SA 技术,从简单的筛选方法到计算成本高昂的基于方差的方法。本篇内容我们通过将 Morris 方法来对模型进行分析。

全栈川川 1万+

Python基础知识的详细归纳

Python基础知识是学习Python编程的基石,涵盖了从字面量、注释、变量、数据类型到运算符、字符串、函数等多个方面。

2401_85240630的博客 667

GEE:计算非水体概率影像(水体淹没次数)

本文记录了在GEE平台上使用哨兵数据计算沿海地区非水体概率图像的计算方法和代码。基于像素,概率范围0-100。首先使用哨兵数据(s2)和大津算法(OTSU)计算的水体指数阈值来提取水体,然后计算研究区非水体像素在时间段内出现的概率。

养乐多的博客 2141

嵌入式工程师成长之路(7)——算法学习

算法大全1、风仲达——算法笔记2、坐在马桶上学算法3、啊哈算法4、深度强化学习实验室。

云轩阁 4万+

python 基础知识

1、python基础知识 优点: 有丰富的块结构 代码简单易读 功能应用: 爬虫 大数据人工智能 自动化云计算运维 缺点: 运行效率慢(对开发效率没有要求时,就可以用python) 2、python的安装 安装平台: Linux 官网下载安装包 解压安装包 安装编译过程需要的依赖性:gcc,zlib,zlib-devel,openssl-devel,readline,readline-dev...

qq_42311209的博客 348

51-14 Retentive Network,RetNet 多尺度保留机制序列建模论文精读

RetNet 提出了多尺度保留机制序列建模,该机制支持三种计算范式,即并行、循环和分块循环。RetNet有更好的全局注意力建模、高效的计算效率、对遮挡的鲁棒性、支持基于注意力的图像生成、与置信度相关的门控机制和多任务学习等特点,对不同视觉任务可以共享历史注意力记忆,可以同时进行分类、分割、检测等任务。RetNet在视觉领域应该有广阔的应用前景。

AIgraphX 1614

Python基础知识梳理

一、Python语言编程特征 二、基本数据类型(5个) 变量: 常量 类型转换问题 三、输入、输出函数 四、运算符 1、算法运算符 2、逻辑运算符 3、成员运算符 五、随机值获取、重命名 1、获取随机值 2、重命名 六、if语句 七、for循环 八、while循环 java→面向对象 ,c →面向过程;而python介于java和c 之间,既面向对象,又面向过程。 一、Python语言编程特征 Python源文件通常用.py作为扩展名 Python.........

心皿月的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python基础知识

这篇文章提炼了python的基础知识纲要,用于整理自己的知识体系,方便记忆,具体的知识点查看菜鸟教程http://www.runoob.com/python/python-tutorial.html。

qq_23878241的博客 237

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python基础知识

整理Python基础知识,参考《Python编程从入门到实践》

cztl520的博客 1016

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

关于python的一些基础知识

幻城砂的博客 201

python需要学哪些基础知识_学习Python需要哪些基础知识?

学习Python需要哪些基础知识?Python学习可以分为几个阶段,入门、进阶、应用。先说说入门需要哪些基本的知识储备。Python因为易于学习的特点,入门很简单,掌握基本的Python知识点,比如变量、数据结构、语法、函数等等,基本上一到周时间就可以。完成这个初步学习的入门阶段只需要有:1,基本的阅读理解能力这是我们从小就在训练的能力了,看报纸、看杂志、看小说等等,无时无刻的不在用着这项能力。拿...

weixin_39961522的博客 215

Python入门基础知识

Python入门基础知识,几天跟大家分享的是关于学习Python需要了解的入门基础知识。一起看一看吧!一、Python 简介Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。Python程序的执行(运行)方式有两种:交互式、文件式交互式即在命令行输入指令,回车即可得到结果。1.打开终端2.进行交互式:python33.编写代码:print(“hello world”)4.离开交互式:exti()文件式将指令编写到.py文件,可以重复运行程序。

2301_76161259的博客 363

python基础知识思维导图整理

我根据python的基础知识做了一份导图,如下: 后面会不定期更新。

洛阳山 702

Python基础知识总结资源下载

Python基础知识总结资源下载 去发现同类优质开源项目:https://gitcode.com/ 这里是《Python基础知识总结.pdf》文件的下载仓库,该文件为您详细总结了Python编程语言的基础知识,包括语法、数据类型、控制流程、函数、模块与包等内容。 该资源适合初学者快速掌握Python基础,也适合有经验的开发者作为参考手册。希望这份总结能够帮助您在Python学习的道路上更进一步。 ...

gitblog_06730的博客 295

Python 基础知识全面总结

使用单引号、双引号或三引号定义。Python的基础知识涵盖了从语法到高级特性的方方面面。无论是标识符、关键字、数据类型,还是面向对象、异常处理、模块与包,每一个知识点都是构建Python程序的基石。希望这份总结能帮助你更好地掌握Python的核心概念,提升编程能力。如果你对某个部分还有疑问,欢迎留言交流!👏想了解更多统计学、数据分析、数据开发、数据治理、机器学习算法、深度学习等有关知识的宝子们,可以关注小编,希望以后我们一起成长!

cc是小陈的博客 2288

python基础知识框图

python3基础知识总结 对基础知识的总结,以框图(层次清晰)形式展现

weixin_43455639的博客 657
上一篇: tensorboard可视化学习中出现的一些问题
下一篇: python中处理链表时特别注意引用传递的问题
gyl2016
博客等级 码龄10年 53粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值