python面试pytorch面试

python面试
python中啥类型是不可更改的,啥类型是可以更改的

为什么Python执行速度慢,我们如何改进它?

自己总结:
1c语言属于编译型语言:
它的代码经过编译后再运行,执行速度快;不能跨平台,一般用于操作系统,底层开发;
2c是静态类型语言,在编译期间就确定数据类型的语言,与大多数的静态类型语言一样,在编译过程中就要声明数据类型。
3对象机制不同,c中没有对象这个概念,只有“数据的表示”,比如说如果有两个int变量a和b,可以使用ab来判断,但是如果两个字符串变量a和b,就不得不用strcmp来比较,a与b本质是指向字符串的指针,如果直接使用比较,那比较的实际是指针中存储的值地址。
4c语言分为4类,基本类型(包含整数类型,浮点类型)、枚举类型、void类型、派生类型。

1python属于解释性语言:
它的代码在运行时进行解释,执行速度慢;可以跨平台,适合软件的快速开发;
2python是一种动态类型语言(强类型语言),确定一个变量类型在第一次具体给它赋值的时候。
3对象机制,python中的所有数据,都是由对象或者对象之间的关系表示的,函数是对象,字符串是对象,每个东西都是对象的概念。每一个对象都有三种属性:实体,类型和值。(这个不是太懂)
4Number数字(整数、布尔型、浮点数和复数)、String字符串、List列表、Tuple元组、Sets集合、Dictionary字典

以下是C语言中四类类型的示例代码:基本类型(包含整数类型,浮点类型):
#include <stdio.h>int main() {int num = 10;float pi = 3.14;printf("整数类型: %d\n", num);printf("浮点类型: %f\n", pi);return 0;
}
枚举类型:
#include <stdio.h>enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};int main() {enum Weekday today = Wednesday;printf("今天是星期:%d\n", today);return 0;
}
void类型:
#include <stdio.h>void printMessage() {printf("这是一个无返回值的函数\n");
}int main() {printMessage();return 0;
}
派生类型(数组类型和结构类型):
#include <stdio.h>struct Student {char name[20];int age;
};int main() {int numbers[5] = {1, 2, 3, 4, 5};struct Student stu = {"John", 20};printf("数组类型: %d\n", numbers[2]);printf("结构类型: %s, %d\n", stu.name, stu.age);return 0;
}
以下是Python中常见数据类型的示例代码:Number数字(整数、布尔型、浮点数和复数):
num = 10
is_true = True
pi = 3.14
complex_num = 2 + 3jprint("整数类型:", num)
print("布尔类型:", is_true)
print("浮点类型:", pi)
print("复数类型:", complex_num)
String字符串:
str1 = "Hello"
str2 = 'World'print(str1 + " " + str2)
List列表:
list1 = [1, 2, 3, 4, 5]
list2 = ['apple', 'banana', 'orange']print(list1)
print(list2)
Tuple元组:
tuple1 = (1, 2, 3, 4, 5)
tuple2 = ('apple', 'banana', 'orange')print(tuple1)
print(tuple2)
Sets集合:
set1 = {1, 2, 3, 4, 5}
set2 = {'apple', 'banana', 'orange'}print(set1)
print(set2)
Dictionary字典:
dict1 = {'name': 'John', 'age': 20}
dict2 = {'apple': 1, 'banana': 2, 'orange': 3}print(dict1)
print(dict2)

在这里插入图片描述
字符串是不可变的,即不能修改字符串中的单个字符。
在这里插入图片描述

列表是可变的,可以通过索引进行访问、修改、添加、删除等操作。
在这里插入图片描述
元组不可变
在这里插入图片描述
集合也是不可变的。
在这里插入图片描述
列表与字典不能当作字典的key

迭代器、生成器、装饰器

生成器

在这里插入图片描述
在这里插入图片描述
尝试:用迭代器来实现,但是次数不确定(这是一个难点);还有生成规律该写如哪个函数,写入next函数。
在这里插入图片描述
需要属性,属性跟着对象,只要不删除属性,对象还活着,这个值就永远存在,局部变量的话随着方法的结束就变了,就没了。就像上图中的self.x.迭代器还有这个功能,他没有存储想要的数据(下图是给出存储想要的数据),仅仅是存储生成数据的方法,减少空间的浪费,授人以鱼不如授人以渔。
在这里插入图片描述

什么是生成器

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。

通俗的理解:

在Python中,这种一边循环一边计算的机制,称为生成器:generator
在这里插入图片描述
在这里插入图片描述
生成器,其实是一种特殊的迭代器。(可迭代对象不一定是迭代器,迭代器一定是可迭代对象,迭代器不一定是生成器,迭代器根据上一次的生成数我就知道下一次的生成数,生成器(生成器不是记录生成数据的值,而是记录生成数据算法)也属于迭代器)

中括号是列表推导式,小括号是元组推导式

在这里插入图片描述
之前创建类,调用对象,打印时候也是像下面哪个一样。
在这里插入图片描述
上面那个登录这么长时间没有效果,下面这个就直接好了。列表推导式是必须生成完成之后才可以使用,下面那个不是全部生成才调用,而是什么时候要用什么时候生成。生成器还有一个重要的关键字yield
在这里插入图片描述
在这里插入图片描述
装饰器:在不修改原函数的实现功能。仅仅是在调函数之前可以额外调用一部分功能。

def make_pencil(color):def write(content):print("正在使用(%s)色,写:%s" % (color, content))return writeblack_pencil = make_pencil("黑")
black_pencil("我是喝墨水长大的")red_pencil = make_pencil("红")
red_pencil("这么巧,我也是,只不过是红墨水")

闭包用到的核心其实就是:在一个函数中返回另外一个函数的引用,只不过这个被返回的函数中用到了其他函数中的变量而已。说到底就是 只要用一个变量指向某个函数代码块,就可以调用它

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

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

相关文章

室内效果图没有质感?外国大神这6个实用技巧,带你轻松掌握!

为了创作出高级有质感的效果图&#xff0c;我们需要注意构图、颜色、布光等多种因素&#xff0c;以打造出逼真的渲染效果。不过不要担心&#xff01;今天小编带来了国外知名设计师Arch Viz Artist在油管上分享的6个实用小技巧。看完带你轻松提升室内效果图的表现力&#xff01;…

博客的简介

博客的简介 大家可以把这个当做目录&#xff0c;从中选择自己需要的内容进行阅览&#xff0c;欢迎大家一键三连&#xff01;&#xff01;&#xff01;&#xff01; 话题讨论专栏 点击进入话题讨论专栏 主要文章&#xff1a; 神奇的代码——可随意修改复制页面内容 Python…

数据资产入表正式施行,企业如何对数据资产进行会计核算?

2024年1月1日&#xff0c;《企业数据资源相关会计处理暂行规定》正式施行&#xff0c;数据资源将作为资产在企业的会计和财务报告中确认、计量、报告和披露。这代表着企业数据相关的支出由损益变成资产类&#xff0c;可以计入资产&#xff0c;不仅可以减少投入期对利润的影响&a…

智能语音机器人NXCallbot

受出海公司业务全球化的影响&#xff0c;智能客服逐渐从便捷应用变为市场刚需。新基建七大领域中&#xff0c;人工智能及场景应用的基础建设是最核心的领域&#xff0c;而智能客服作为商业化实际应用的核心场景之一&#xff0c;能提升企业运营效率&#xff0c;为行业客户赋能。…

东方甄选“去董化”舆情危机处置分析

追溯回2021年&#xff0c;国家推出《双减》政策&#xff0c;减轻学生的作业负担&#xff0c;减轻学生在校外培训中的负担&#xff0c;以教育培训企业股价应声下跌。新东方市值一路走低&#xff0c;蒸发掉逾90%。在众人感叹将星陨落之时&#xff0c;俞敏洪老师剑出偏锋推出东方甄…

GRE系列 2:1宽压输入6KV隔离双回路直流高压输出电源模块

GRE系列低成本小体积、宽电压输入隔离稳压双回路输出高压模块电源&#xff0c;是一款业界技术的DC-DC高电压转换器。该产品可在宽范围波动的不稳定电源电压输入环境中安全运行&#xff0c;通过模块的内部调整电路可以生成隔离稳压的直流高电压双回路输出。GRE系列新产品采用SIP…

kafka消息队列安装以及整合springboot使用

文章目录 一、JMS与AMQP二、安装2.1 Java安装2.2 Zookeeper 和 kafka安装2.3 docker-compose 安装【待定&#xff0c;远程连接可能连接不上】 三、Kafka数据存储流程和原理概述和LEOHW讲解四、代码客户端连接kafka五、**ProducerRecord和key的作用**5.1 **如果保证顺序消费&…

Apache SeaTunnel:探索下一代高性能分布式数据集成工具

大家下午好&#xff0c;我叫刘广东&#xff0c;然后是来自Apache SeaTunnel社区的一名Committer。今天给大家分享的议题是下一代高性能分布式海量数据集成工具&#xff0c;后面的整个的PPT&#xff0c;主要是基于开发者的视角去看待Apache SeaTunnel。后续所有的讲解主要是可能…

DNS被劫持怎么办

DNS劫持是一种网络攻击&#xff0c;攻击者通过篡改DNS记录&#xff0c;将特定域名的解析结果指向错误的IP地址&#xff0c;从而实现对特定网站的访问劫持或流量劫持。这种攻击方式严重影响了用户的上网体验&#xff0c;并可能导致用户隐私泄露。下面也从原因、危害以及应对的策…

4个原创技术文档,从Excel到MySQL到Python

2023马上就要结束了&#xff0c;回首这一年的工作和努力&#xff0c;我感到非常欣慰和自豪。在这段时间里&#xff0c;我专注于撰写原创技术文档&#xff0c;致力于为大家提供有价值的内容。 这四篇原创技术文档是我精心编写的&#xff0c;每一篇都经过了深入研究和详尽的实践…

CG Magic分享3d max渲染效果图时,不可忽略的灯光技巧!

一幅效果图是否能够呈现更完美&#xff0c;不止是完美的模型基础&#xff0c;而且灯光的设置也不能忽视。 尤其&#xff0c;对于3dmax室内灯光渲染还是很重要的&#xff0c;对于新手伙伴来说&#xff0c;可能会想到的3dmax怎么打灯渲染&#xff1f; 3dmax灯光渲染设置需要注意…

服务器运维管理面板1Panel本地部署并结合内网穿透实现远程访问

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…