python-基础

1.什么是Python?

python是一种面向对象的,交互式的,解释型的计算机程序设计语言。python具有高可读性,它使用英文关键词,而非标点符号,语法结构也比其他语言简单。

2.python的主要功能是什么?

python是解释型语言,因此运行时不需要编译

声明变量和类似变量时,不需要重复申明变量的类型

python非常适合面向对象的编程,因为它允许类的定义以及组合和继承

函数是第一类对象,这意味着它们可以分配变量,从其他函数返回并传递给函数,类也是第一类对象

用于许多领域,包含web应用开发,爬虫,自动化,科学建模,大数据应用等

3.python支持的数据类型有哪些?

Number(数字)

String(字符串)

List(列表)——有序集合,值可变

Tuples(元组)——有序集合,值不可变

dictionary(字典)——无序集合

字典中的元素是通过键来获取的,不是通过位移来获取

4.什么是python模块?

模块是一个python脚本,通常包含import,函数,类,变量的定义以及python可运行的代码,文件扩展名为‘.py’

5.python解释器种类以及特点

Cpython:这个解释器是C开发的,默认启动的python就是Cpython,用的最多

Ipython:Ipython是基于Cpython的一个交互式解释器,也就是说,Ipython只是在交互上有所增强

PyPy: 它的目标是执行速度,所以可以显著提高python代码的执行速度

Jpython: Jpython是运行在java平台的python解释器,可以直接将python代码编译成java字节码执行

IronPython:运行在微软平台.Net的python解释器,可以将python代码编译成.net字节码

6.什么是python切片

python中有序序列都支持切片(slice),例如数组,元祖,字符。如:a='11111112222222223333333'  b=a[2:9]

 7.python中的‘%s’代表啥

是字符串的占位符,还有%d

8.python编程中的函数是什么?

函数表示代码块并且可重用实体的对象,它为程序带来了模块化,并提供了更高程度的代码可重用性。

9.python有多少种类型的函数可用

两种:内置和自定义   内置(print()、dir()、len()等)

10.深拷贝和浅拷贝的区别

深拷贝:将一个对象拷贝到另一个对象中,意味着你对另一个对象做改变时,不影响原对象

浅拷贝:将一个对象的引用拷贝到另一个对象中,如果我们在拷贝中改变,会影响原对象

11.python的pass和continue的区别

pass:什么都不用在做,其他代码像往常一样执行;continue代码结束本次循环,直接进入下一次循环,循环从下一次迭代中恢复

12.pythonpath环境变量的用途

此变量告诉python解释器在何处找到导入程序的模块文件

13.python中的继承

 继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码的可重复性,使创建和维护应用程序更加方便。

单一继承:派生类获取单个超类的成员

多重继承:从基类base1继承的派生类d1,d2继承自base2

分层继承:从一个基类继承可以继承任意数量的子类

多重继承:派生类从多个基类继承

14.请谈谈.pyc和.py的区别

两种文件均保留字节代码,但.pyc文件是python文件的编译版本

15.在python中命名和文件相关的模块

python库/模块提供了一些函数,你可以在文件系统上操作文本文件和二进制文件。使他们完成创建文件,更新内容,复制和删除文件的操作,这些库时os、os.path、shutil

16.解释python支持的所有文件处理方式

有以下三种方式打开:

1)只读模式(r),只写模式(w), 读写模式(rw),附加模式(a)

2)通过指定选项t,可以在上述任一模式打开文本文件【rt、wt、rwt、at】

3) 通过指定选项b,可以打开任一二进制文件【rb、wb、rwb、ab】

 

17.lambda和def间区别

lambda是匿名函数,def必须指定一个函数名称,里面可以包含多个表达式;lambda形成一个函数对象并返回,支持在列表和字典中使用;def可以有一个return语句,而lambda不可以。

18.大数据文件读取

常用的方法是一行一行读取,也可以利用生成器generator【我不常用】

19.find和grep

grep命令是一个强大的文本搜索工具,搜索内容可以是正则表达式,允许多文本内容进行按模式查找。如果找到匹配数据,按行打印;find适合搜索符合条件的文件,可以搜索特定用户属主的文件。

20.常用Linux命令

cd ls pwd head tail shuf grep 'wc -l' cp mv rm date  find

21.描述数组,链表,队列,堆栈的区别

数组和链表是数据存储方式的概念,数组在连续空间中存储数据,而链表可以在非连续空间中存储数据;队列和堆栈是描述数据存取方式的概念,队列是先进先出,堆栈是后进先出;队列和堆栈可以用数组来实现,也可以用链表来实现

22.请解释*args和**kwargs的含义

当我们不知道像函数传递多少参数时,就使用*args

当我们不知道像函数传递多少关键字参数时,就使用**kwargs

 23.python中去除空格

左空格:lstrip();右空格:rstrip();两边空格:strip()

24.如何用python输出Fibonacci数列,斐波那契

Fibonacci:从第三项开始,每一项都是前两项之和

 

 25.什么是递归

在调用一个函数的过程中,直接或者间接的调用了函数本身就叫递归。但为了避免死循环,必须要有一个结束条件

例如,求n!,阶乘

 

posted @ 2022-09-14 10:32  lingwang3  阅读(85)  评论(0编辑  收藏  举报