当面试官问这些基础的Python问题时,竟然还有80%的人不会!

怎样才能开始一个交互式解释器的会话?

在Windows下可以通过点击开始按钮,选择“程序”,点击“Python”,然后选择“Python(command line)”菜单选项来开始一个交互会话。

你应该在哪里输入系统命令行来启动一个脚本文件?

在输入系统命令行的地方,也就是你所在的平台提供给作为系统终端的地方

Windows下的系统提示符,在Unix、Linux或mac OS x的xterm或者终端窗口。

指出运行保存在一个脚本文件中的代码的四种或者更多的方法。

一个脚本(实际 上是模块)文件中的代码可以通过系统命令行、文件鼠标点击、导入和重载,exec内置函数以及像IDLE的Run→Run Module菜单选项这样的IDEGUI选取来运行。

指出在Windows下点击文件图标运行脚本的两个缺点

打印后退出的脚本会导致输出文件马上消失,在你能够看到输出之前,你的脚本产生的同样显示在输出窗口的错误信息,会在查看其内容前关闭(这也是对大多数开发任务,系统命令和IDLE这类IDE之所以更好的原因。)

在IDLE中怎样运行一个脚本?

在默认的情况下,Python每个进程只会导入一个模块一次,所以如果你改变了它的源代码,并且希望在不停止或者重新启动Python的情况下运行其最新的版本,你将必须重载它。在你重载一个模块之前至少已经导入了一次。在系统命令行汇总运行代码,或者通过图标点击,或者像使用IDLE这样IDE,这不再是一个问题,因为这些启动机制网管网每次都是运行源代码的最新版本。

列举两个使用IDLE的潜在缺点。

在你希望运行的文件所在的文件编辑窗口,悬着窗口的Run→Run Module菜单选项。这可以将这个窗口的源代码作为顶层脚本文件运行,并在交互Pythonshell窗口显示其输出。

什么是命名空间,它和模块文件有什么关联

命名空间就是变量(也就是变量名)的封装。它在Python中以一个带有属性的对象形式出现。每个模块文件自动成为一个命名空间;也就是说,一个对变量的封装,这些变量对应了顶层文件的复制。命名空间可以避免在Python程序中的命名冲突——因为每个模块文件都是独立玩呗的命名空间,文件鼻血明确的导入其他的文件才能使用这些文件的变量名。

列举4个Python核心数据类型的名称

数据、字符串、列表、字典、元组、文件和集合一般被认为是核心对象(数据)类型。类型、None和布尔型有时也被定义在这样的分类中。还有数字类型(整数、浮点数、复数、分数和十进制数)和多种字符串类型。

为什么我们把他们称作“核心”数据类型?

它们被认作是“核心”类型是因为他们是Python语言资深的一部分,并且总是有效的,为了建立其他的对象,通常必须调用被导入模块的函数。大多数核心类型都有特定的语法去生成其对象。

“不可变性”代表什么,哪三种核心数据被认为是具有不可变性的?

一个具有不可变性的对象是一个在其创建以后不能够被改变的对象。Python中的数据、字符串和元组都是属于这个分类。尽管无法的改变一个不可变的对象,但是你总是可以通过运行一个表达式创建一个新的对象。

“序列”是什么依稀,哪三种核心数据被认为是这个分类中的?

一个序列是一个对位置进行拍讯的对象的集合。字符串、列表和元组是Python中所有序列。他们共同拥有一般的序列操作,例如:索引、合并以及切片,但各自有自己的类型特定的方法调用。

“映射”是什么意思,那种Python的核心类型是映射?

术语映射,表示将键与相互关联映射的对象。Python的字典是其核心数据类型几种唯一的映射类型。应该设没有从左至右的位置顺序,他们支持通过键获取数据,并包含了类型特定的放大调用。

什么是多态,为什么我们要关心多态?

多态以为着一个操作符(如+)的意义区却于被操作的对象。这将变成使用好Python的关键思想之一,不要把代码限制在特定的类型上,使代码自动使用于多种类型。

思考下面三条聚聚。它们会改变A打印出的值嘛?

1 A = "spam"
2
3 B = A
4
5 B = "shrubbery"

不会,A仍会作为“spam”进行打印。当B赋值为字符串"shrubbery"时,所发生的变量B被重新设置为所指向了新的字符串对象。A和B最初共享了同一个字符串对象“spam”,但是在Python中这个连个变量名从未链接在一起。因为,设置B为另一个不同的对象对A没有影响。如果这里最后的语句变为B = B+"shrubbery",也会发生同样的事情。另外,合并操作创建了一个新的对象作为其结果,并将这个值只赋值给了B。我们永远都不会在远处覆盖一个字符串(数字或者元组),因为字符串是不可变的。

思考下面三条语句。它们会改变A的值嘛?

A = ["spam"]

B = A

B[0] = "shrubbery"

会改变A的值,A现在打印为["shrubbery"],从技术上讲,我们既没有改变A也没有改变B,我们改变的是这两个变量共同引用的对象一部分,通过变量B在远处覆盖了这个对象的一部分内容。因为A像B一样引用了同一个对象,这个改变也会对A产生影响。

思考下面三条语句。它们会改变A的值嘛?

A = ["spam"]

B = A[:]

B[0] = "shrbbery"

不会,A仍然会打印为[‘spam‘]。由于切片会在被复制给B钱创建一个拷贝,这次对B在原处赋值就不会影响了。在第二个赋值语句后,就有了两个拥有相同值的不同列表对象了(在Python中,我们说它们是==的,却不是is的)。第三条复制语句会边改指向B的列表对象,而不会改变指向A的列表对象。

原文地址:https://www.cnblogs.com/pythonfm/p/9069412.html

时间: 2024-10-04 17:33:28

当面试官问这些基础的Python问题时,竟然还有80%的人不会!的相关文章

大厂面试官问你META-INF/spring.factories要怎么实现自动扫描、自动装配?

大厂面试官问你META-INF/spring.factories要怎么实现自动扫描.自动装配? 很多程序员想面试进互联网大厂,但是也有很多人不知道进入大厂需要具备哪些条件,以及面试官会问哪些问题,这里今天就给大家分享一下,如果大厂面试官问你META-INF/spring.factories要怎么实现自动扫描.自动装配,你需要怎么回答? 程序员应聘面试经验技巧和注意事项你知道哪些? 1.基础很重要,不要生疏了. 2.要关注技术前沿. 3.小公司比较看重知识的广度,大公司更看重知识的深度. 4.良好

面试官问:如何让其他部门重视数据?该怎么答?

本文转自知乎 作者:接地气的陈老师 ----------------------------------------------------- 有同学问:老师,面试官问了我一个这样的问题:"管销售的领导一直不关心数据,而且人家那个部门也一直业绩排名第一,每年的指标都能达标,要怎样让这个领导重视起来呢?"我该怎么回答???? 答:如果不是面试的话,我建议直接放弃这哥们吧.回顾一下我们讲过的业务部门分类(如下图) 天天做用户画像,有多少同学对企业内部数据分析部门的用户进行过画像?哈哈 业务

面试官问现在工资是多少,该怎么回答?

面试,是一个推销自己的过程,先谈能力,后聊价格,顺序不能乱.如何谈薪资,能够做到对候选人最有利,是一门学问,也需要大量的实践.今天,我介绍两个谈薪资的要点给大家,稍加练习,便足以应对大部分的场面. 这个世界,从来都不是公平和客观的,面试也一样.用人单位对候选人的定价,从不看真实价值,往往只根据候选人当前的薪资来定,并且默认最多只会增幅0-20%(没错,不少公司在某些情况下一分钱都不会涨),而候选人对跳槽涨薪的预期一般是30%起.天然的,在谈判开始前,双方对薪资涨幅的预期,就存在巨大鸿沟,如何跨越

面试官问我,使用Dubbo有没有遇到一些坑?我笑了。

前言 17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的Dubbo源码解析.目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍. 面试官问我,使用Dubbo有没有遇到一些坑?我笑了.根据我的面试经验而言,能在简历上写上原理.源码等关键词的,是非常具备核心竞争力的.上周和一个公众号粉丝交流面试情况如下 面试官问我,使用Dubbo有没有遇到一些坑?我笑了.面试的时候,把源码一波分析,令面试官虎躯一震!在一阵前戏过后,以为接下来无非就是身体的一顿抽

大厂面试官问你知道final、finally、finalize有什么区别?

前言Java程序员面试,基础真的很重要.基础这东西,各个公司都很看重,尤其是大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重.之前很多人问我,项目经历少怎么办,那就去打牢基础,当你的基础好的发指的时候,你的其他东西都不重要了. Java 语言有很多看起来很相似,但是用途却完全不同的语言要素,这些内容往往容易成为面试官考察你知识掌握程度的切入点.今天,我要问你的是一个经典的 Java 基础题目,谈谈 final.finally. finalize 有什么不同?典型回答final

去百度面试,想知道面试官问哪些问题,看这篇文章

https://mp.weixin.qq.com/s?__biz=MzI0NjM3NjI1NQ==&mid=2247487861&idx=1&sn=34316976cdb0aa2e4df3aa6f1f5cc31d&chksm=e9416325de36ea33200d9944fff37381de11c8d4dc8aeb0cc4b83c6201e56b8ee2bc8c2798cc&mpshare=1&scene=1&srcid=1102ElP5k7MBT

面试官问你斐波那契数列的时候不要高兴得太早

前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归求斐波那契数列 递归,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.斐波那契数列的计算表达式很简单: 1F(n) = n; n = 0,12F(n) = F(n-1) + F(n-2),n >= 2; 因此,我们能很快根据表达式写出递归版的代码: 1/*fibo.c*/ 2#include <stdio.h> 3#include <stdlib.h&

Java面试-吊打面试官系列 Redis基础

你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写吊打面试官系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,吊打一同面试的同僚

当面试官问你:如何进行性能优化?

问题背景 在开发好页面后,如何让页面更快更好的运行,是区分一个程序猿技术水平和视野的一个重要指标.所以面试时,面试官总会问你一个问题,如何进行性能优化呢? 性能优化是什么 从前端的角度来说,性能优化可以分为两个方向.从用户角度来看,一个是页面加载的很快,另一个是页面使用起来很流畅.因此,对性能优化的探索,我们可以分为页面加载时间跟页面运行效率两个方向来进行研究 从浏览器打开到页面渲染完成,花费了多少时间 浏览器解析->查询缓存->dns查询->建立链接->服务器处理请求->服