python知识点总结(二)

在这里插入图片描述


这里写目录标题

  • 1、什么是解释性语言,什么是编译性语言?
  • 2、说说中作用域是怎么划分的
  • 3、type和isinstance方法的区别
  • 4、浅拷贝和深拷贝
  • 5、python中变量在内存中存储方式
  • 6、python中的封装、继承、多态
  • 7、python中内存管理机制是怎么样的?
  • 8、简述类属性和对象属性的区别
  • 9、类方法、实例方法、静态方法区别
  • 10、类中property有什么用
  • 11、with方法使用原理
  • 12、while-else for-else语法的用法
  • 13、编写程序实现:该函数的输入是一个仅包含数字的list,输出一个新的list,
  • 14、read、readline、readlines
  • 15、传递方式是值传递还是引用传递
  • 16、正则表达式中贪婪模式和非贪婪模式的区别
  • 17、python异步场景有哪些
  • 18、把字符串s中的每个空格替换成”%20”,
  • 19、打乱一个排好序的对象
  • 20、将d按value进行排序
  • 21、将str1="k:1|k1:2|k2:3|k3:4"处理为字典
  • 22、写一个列表生成式,产生一个公差为11的等差数列 0 11 22
  • 23、给定两个列表,怎么找出他们相同的元素和不同的元素
  • 24、请写出一段python代码实现删除list里面的重复元素?

1、什么是解释性语言,什么是编译性语言?

编译型语言特点:编译成二进制文件;一次编译,多次执行;执行速度快(只需要翻译一次),跨平台型比较弱
解释型语言特点:翻译成C代码,再翻译成二进制,再执行;每次编译每次执行;执行速度慢(多次执行、多次编译),跨平台型比较强

2、说说中作用域是怎么划分的

内建作用域、全局作用域、闭包函数作用域、局部作用域
内建作用域:max、len,在任何地方都可以使用
全局作用域:全局变量,定义在.py文件中的变量
闭包函数作用域:定义在闭包函数中
局部作用域:定义在内部函数中

import os
from functools import reduce
from typing import Iterator, Iterablec = 1  # 全局作用域def fn():d = 2  # 函数作用域def fn1():e = 3  # 局部作用域max(1, 2, 3)  # 内建作用域:在任何地方都可以用

3、type和isinstance方法的区别

目的不同:
type:用于获取对象的类型,其返回值是对象的类型
isinstance:用于测试对象是否是某种类型,返回True或者False
type不能判断子类对象是否属于父类,isinstance可以

a = 2
b = 2.4
print(isinstance(a, (int, float)))      #True
print(isinstance(b, (int, float)))      #Trueclass Father:passclass Son(Father):passif __name__ == '__main__':son = Son()print(type(son))  # <class '__main__.Son'>print(isinstance(son, Son))  # Trueprint(isinstance(son, Father))  # Trueprint(isinstance(son, object))  # True

4、浅拷贝和深拷贝

总结:
1、浅拷贝只拷贝父对象,不会拷贝父对象中子对象
2、深拷贝不但拷贝父对象,父对象中的子对象也会拷贝
3、不可变对象,无论是深拷贝还是浅拷贝,都不会发生拷贝**

浅拷贝旨在减少内存的占用
深拷贝可以在做数据的清洗、修改或者入库的时候,对原数据进行复制一份,以防数据修改之后,找不到原数据
对于不可变对象类型,没有深浅拷贝的说法,无论是深拷贝还是浅拷贝结果一样的,如果对其重新赋值,
对于可变类型来说,浅拷贝只复制容器,不复制容器中元素;
深拷贝复制容器,元素如果是可变类型,也复制元素。

5、python中变量在内存中存储方式

1、什么是引用赋值?
定义了变量a,并且指向了内存中的一个地址,定义变量b时,将a变量的引用赋给b,两个变量指向了同一个内存地址。
2、引用赋值,如果使用的是可变类型:会被关联修改。

按值赋值:python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址付给新创建的变量。
符合字符串驻留条件的有:
1、数字在-5~256之间
2、符合标识符的字符串
3、字符串的长度为0或者为1时
4、字符串的由数字、字母、下划线组成时
5、字符串在编译前进行驻留,而不是编译后

1,当进行修改操作时,可变类型传递的是内存中的地址,也就是说,直接修改内存中的值,并没有开辟新的内存。
2,不可变类型被改变时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。

6、python中的封装、继承、多态

https://blog.csdn.net/YZL40514131/article/details/121731536

7、python中内存管理机制是怎么样的?

https://blog.csdn.net/YZL40514131/article/details/125884570

8、简述类属性和对象属性的区别

类属性在__init__方法之外,
类属性可以让类和对象调用

实例属性定义在__init__中或者方法中
self.开头
只能通过实例对象调用
不能通过类去调用

调用类属性:
类调用:直接调用类属性
对象调用:先得到对象属性,如果有对象属性则获取类属性

类属性是共享的
同一个类创建的不同对象共享属性
对象属性
不同对象内存是独立的

9、类方法、实例方法、静态方法区别

https://blog.csdn.net/YZL40514131/article/details/119744665

10、类中property有什么用

https://blog.csdn.net/YZL40514131/article/details/120056165

11、with方法使用原理

用于上下文管理协议
__enter__:进入上下文
__exit__:退出上下文

class MyOpen:def __init__(self,filename,mode,encoding='utf-8'):self.f=open(filename,mode,encoding=encoding)def __enter__(self):return self.fdef __exit__(self, exc_type, exc_val, exc_tb):self.f.close()with MyOpen('1.txt','r',encoding='utf-8') as f:res=f.readline()print("res",res)

12、while-else for-else语法的用法

换句话说,如果我们不是以正常方式退出循环,那么else分支将不被执行。
也就说在循环体内用break、return退出不会执行else语句。

13、编写程序实现:该函数的输入是一个仅包含数字的list,输出一个新的list,

其中每一个元素需要满足以下条件
1、该元素是偶数;
2、该元素在原list中是在偶数的位置

def num_list(num):return [i for i in num if i % 2 == 0 and num.index(i) % 2 == 0]num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num_list(num))

14、read、readline、readlines

https://blog.csdn.net/YZL40514131/article/details/125609673

15、传递方式是值传递还是引用传递

不可变参数用值传递
可变参数是引用传递

16、正则表达式中贪婪模式和非贪婪模式的区别

贪婪模式:正则表达式去匹配时,会尽量多的匹配符合条件的内容
非贪婪模式:正则表达式去匹配时,会尽量少的匹配符合条件的内容,一旦匹配成功,不会继续往下匹配

17、python异步场景有哪些

1、多任务执行任务时不涉及共享资源,或者面对共享资源时只是读取数据,不会操作数据。
2、没有时序上的要求。
3、不能影响主线程的运行。
4、常用于IO操作等耗时操作,因为比较影响客户的体验和使用。
5、不需要原子操作,或可以通过其他方式控制原子性。

18、把字符串s中的每个空格替换成”%20”,

输入:s= “We are happy.", 输出: “We%20are%20happy.”

s = "We are happy."
s.replace("", "20%")

19、打乱一个排好序的对象

l = [2, 3, 4, 6]
import randomrandom.shuffle(l)
print(l)

20、将d按value进行排序

d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}
d2 = sorted(d.items(), key=lambda d: d[1])
d3 = {key: value for key, value in d2}
print(d3)

21、将str1="k:1|k1:2|k2:3|k3:4"处理为字典

str1 = "k:1|k1:2|k2:3|k3:4"
d = {k.split(":")[0]: k.split(":")[1] for k in str1.split("|")}
print(d)

22、写一个列表生成式,产生一个公差为11的等差数列 0 11 22

l = [i for i in range(0, 100, 11)]
print(l)l1 = [i * 11 for i in range(10)]
print(l1)

23、给定两个列表,怎么找出他们相同的元素和不同的元素

l1 = [1, 2, 3, 4]
l2 = [2, 3, 5, 6]ll1 = set(l1)
ll2 = set(l2)print(ll1 & ll2)  # 相同的元素
print(ll1 ^ ll2)  # 互不相同的元素
print(ll1 - ll2)  # l1不同l2的元素{2, 3}
{1, 4, 5, 6}
{1, 4}

24、请写出一段python代码实现删除list里面的重复元素?

list1 = [1, 2, 2, 2, 3, 3, 4]def func(list1):slow = 0fast = 0while fast < len(list1):if list1[fast] != list1[slow]:slow += 1list1[slow] = list1[fast]fast += 1return list1[:slow + 1]
print(func(list1))

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旋转中心 机械手抓料方式

一、为什么要计算旋转中心&#xff1f; 机器视觉——旋转中心的标定_旋转标定-CSDN博客 在机械手抓料的时候传送带上过来的料可能是各个角度的&#xff0c;不同的位置&#xff0c;这样如果我们没有做好机械手标定的话很难抓取&#xff0c;因此我们要做旋转中和和机械手TCP标定…

章节2:单词本该这样记

为什么我们记不住单词&#xff1f; 单词不是被胡编乱造出来的&#xff0c;单词是有规律的&#xff0c;单词是符合人类的逻辑的。 单词实际意思结构意义历史文化 我们要怎么记单词&#xff1f; 掌握单词的结构规律了解与单词有关的历史文化灵活巧计&#xff0c;不要太拘泥于…

唯一约束

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 唯一约束 唯一约束的特点是在某一个列上的内容不允许出现重复。 例如&#xff0c;现在要收集用户的信息&#xff0c;假设包含编号&#xff08;mid&#xff09;、姓名&…

【通信原理笔记】【二】随机信号分析——2.3 平稳随机过程的性质

文章目录 前言一、平稳过程的不变性二、平稳过程通过线性时不变系统2.1 输出随机过程的特性2.2 输入输出随机过程的关系 三、平稳过程经过希尔伯特系统总结 前言 在上一篇中我们学习了平稳随机过程这一特殊的随机过程&#xff0c;这篇我们进一步学习平稳过程具有哪些性质。 一…

Word2vec 学习笔记

word2vec 学习笔记 0. 引言1. Word2vec 简介1-1. CBOW1-2. SG 2. 实战 0. 引言 最近研究向量检索&#xff0c;看到有同事使用 MeCab、Doc2Vec&#xff0c;所以把 Word2vec 这块知识学习一下。 1. Word2vec 简介 Word2vec 即 word to vector&#xff0c;顾名思义&#xff0c;…

02python计算与变量

学习目标: 1、计算符号与运算 2、变量的基本使用方法 一、计算符号与运算 Python 中最常用的运算符号有 +(加)、-(减)、*(乘)、/(除)和 %(取余)。 【演示】:在 Python 中进行简单的计算,例如:5 + 3。 在 Python 中,我们可以使用各种运算符号进行数值计算。 …

封装哈希表

本文旨在讲解哈希表的封装&#xff0c;我们以哈希桶的结构来进行封装unorderedmap/set。要想实现封装哈希表&#xff0c;我们首先得先将哈希表的结构给搭建出来&#xff0c;然后再根据哈希桶的结构进一步封装unorderedmap/set&#xff01; 下面我们先来实现哈希桶的结构&#x…

Internet Download Manager(IDM下载) v6.42.3 绿色版介绍

互联网下载管理器是一个广泛使用的软件&#xff0c;它可以帮助用户更好地管理和加速他们的下载。最新版本v6.42.3已经发布&#xff0c;它带来了一系列新功能和改进&#xff0c;让用户更加方便和快速地下载他们需要的文件。 新版本的互联网下载管理器增加了对最新浏览器的支持&…

ROS2+NAV2如何快捷的在docker中使用主机的CAN

驱动底盘一般通过CAN口和底盘通信,在docker中使用CAN最方便的方式就是容器(container)在创建(run)时,指定网络为host模式:--network=host。 例如: docker run -it --restart=always --name ros2humble3 --network=host -v /home/tom/Tom/DockerContent/nav2_ws(your do…

1.Spring入门

1.1 Spring简介 Spring是一个轻量级Java 企业级应用程序开发框架&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架&#xff0c;为开发Java应用程序提供全面的基础架构支持。 Spring Fra…

Linux第80步_使用“信号量”实现“互斥访问”共享资源

1、创建MySemaphoreLED目录 输入“cd /home/zgq/linux/Linux_Drivers/回车” 切换到“/home/zgq/linux/Linux_Drivers/”目录 输入“mkdir MySemaphoreLED回车”&#xff0c;创建“MySemaphoreLED”目录 输入“ls回车”查看“/home/zgq/linux/Linux_Drivers/”目录下的文件…

【git】常用操作

基础操作 git init 初始化仓库 要使用 Git 进行版本管理&#xff0c;必须先初始化仓库&#xff0c; 执行了 git init命令的目录下就会生成 .git 目录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据 git status 查看仓库状态 工作树和仓库在被操作的过程中&#xff0…

C++-线程池

1、使用C构造线程类 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <queue> #include <cstring> #include <time.h> #include <unistd.h> #include <pthread.h> #include <thread> #include &…

Github: Github actions 自动化工作原理与多workflow创建

Github actions 1 &#xff09;概述 Github Actions 是Github官方推出的 CI/CD 解决方案 https://docs.githu.com/en/actions 优点 自动发布流程可减少发布过程中手动操作成本&#xff0c;大幅提升ci/cd效率&#xff0c;快速实现项目发布上线 缺点 存在较高的技术门槛需要利用…

Cloudways搭建WordPress外贸独立站完整教程

现在做个网站不比从前了&#xff0c;搭建网站非常的简单&#xff0c;主要是由于开源的CMS建站系统的崛起&#xff0c;就算不懂编程写代码的人也能搭建一个自己的网站&#xff0c;这些CMS系统提供了丰富的主题模板和插件&#xff0c;使用户可以通过简单的拖放和配置操作来建立自…

使用 Next.js 配置接口跨域

在现代 Web 开发中&#xff0c;跨域请求是一个常见的问题。当我们尝试从一个域&#xff08;例如example.com&#xff09;向另一个域&#xff08;例如api.example.com&#xff09;发送 HTTP 请求时&#xff0c;由于浏览器的同源策略限制&#xff0c;这个请求可能会被阻止。为了解…

制定游戏开发里程碑和迭代周期的最佳实践是什么?

制定游戏开发里程碑和迭代周期是游戏项目管理中的重要环节,以下是最佳实践的几个关键点: 明确项目愿景与目标: 在开始阶段,首先确立游戏的整体愿景、核心玩法以及最终发布的目标。这将为后续的所有里程碑提供方向。定义可度量的里程碑: 里程碑应当具体、清晰且可度量,如完…

ZK vs FHE

1. 引言 近期ZAMA获得7300万美金的投资&#xff0c;使得FHE获得更多关注。FHE仍处于萌芽阶段&#xff0c;是未来隐私游戏规则的改变者。FHE需与ZK和MPC一起结合&#xff0c;以发挥最大效用。如&#xff1a; Threshold FHE&#xff1a;将FHE与MPC结合&#xff0c;实现信任最小…

第k个数——字典序

题目链接&#xff1a;1.第k个数 - 蓝桥云课 (lanqiao.cn) 样例解释&#xff1a; 输入13&#xff0c;得到的初始数组为1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9&#xff0c;10&#xff0c;11&#xff0c;12…

【微服务】分布式调度框架PowerJob使用详解

目录 一、前言 二、定时任务调度框架概述 2.1 为什么需要定时任务调度框架 2.2 定时任务调度使用场景 三、PowerJob 介绍 3.1 PowerJob 概述 3.2 PowerJob 功能特性 3.3 PowerJob 应用场景 3.4 PowerJob 与其他同类产品对比 四、PowerJob 部署 4.1 PowerJob 架构 4.…