Python_面试宝典_基础语法

基础语法

  1. 代码中要修改不可变数据会出现什么问题?抛出什么异常?
    代码不会正常运行,抛出Type Error异常。

  2. a=1,b=2,不用中间变量交换a和b的值?

     方法一:
     a=a+b
     b=a-b
     a=a-b
     
     方法二:
     a=a^b
     b=b^a
     a=a^b
     
     方法三:
     a,b=b,a
    
  3. print调用Python中底层的什么方法?
    sys.stdot.write方法,即往控制台打印字符串

  4. 下面这段代码输出的结果是什么?请解释?

    class Parent(object):
    	x = 1
    class Child1(Parent):
    	pass
    class Child2(Parent):
    	pass
    print(Parent.x,Child1.x,Child2.x)  
    Child1.x = 2
    print(Parent.x,Child1.x,Child2.x)
    Parent.x = 3
    print(Parent.x,Child1.x,Child2.x)
    

    结果为:
    1 1 1 # 继承自父类的类属性x,所已都一样,指向同一块内存地址
    1 2 1 # 更改为Child1,Child1的x指向了新的内存地址
    3 2 3 # 更改了Parent,Parent的x指向了新的内存地址

  5. range和xrange的区别?
    两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表很长时,使用xrange比较好!

  6. 一下python程序的输出?

    for i in range(5,0,-1)
    	print(i)
    

    结果是:
    5 4 3 2 1

  7. 4G内存怎么读取5G数据?

     方法一:
     	可以通过生成器,分多次读取,每次读取数量相对少的数据进行处理,处理结束后再读取后面的数据。
     方法二:
     	可以通过Linux命令split切割成小文件,然后再对数据进行处理,此方法效率较高,可以按照行数切割,也可以按照文件大小切割。
    
  8. read,readline,readlines的区别?

     read:读取整个文件
     readline:读取下一行,使用生成器方法
     readlines:读取整个文件到一个迭代器以供我们遍历
    
  9. 常用的python标准库有哪些?
    os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing进程,queue队列。
    第三方库:django和flask也是第三方库

  10. init和new的区别?
    init在对象创建后,对对象进行初始化。
    new是在对象创建之前创建一个对象,并将该对象返回给init

  11. 打乱一个排好序的list对象alist?

    import random
    random.shuffle(alist)
    
  12. 说明os.path和sys.path分别代表什么?
    os.path主要用于对系统路径文件的操作
    sys.path主要对python解释器的系统环境参数的操作

  13. python中的os模块常见方法?

    1、os.remove()删除文件
    2、os.rename()重命名文件
    3、os.walk()生成目录树下的所有文件名
    4、os.chdir()改变目录
    5、os.mkdir/makedirs 创建目录/多层目录
    6、os.rmdir/removedirs 删除目录/多层目录
    7、os.listdir()列出指定目录的文件
    8、os.getcwd()取得当前工作目录
    9、os.chmod()改变目录权限
    10、os.path.basename()去掉目录路径,返回文件名
    11、os.path.dirname()去掉文件名,返回目录路径
    12、os.path.join()将分离的各部分组合成一个路径名
    13、os.path.split()返回(dirname(),basename())元组
    14、os.path.splitext()(返回 filename,extension)元组
    15、os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间
    16、os.path.getsize()返回文件大小
    17、os.path.exists()是否存在
    18、os.path.isabs()是否为绝对路径
    19、os.path.isdir()是否为目录
    20、os.path.isfile()是否为文件
    
  14. python中的sys模块常见方法?

    sys.argv 命令行参数list,第一个元素是程序本身的路径
    sys.modules.keys() 返回所有以及导入的模块列表
    sys.exc_info() 获取当前正在处理的异常类,exc_type,exc_value,exc_traceback当前处理的异常详细信息
    sys.exit(n) 退出程序,正常退出时exit(0)
    sys.hexversion 获取python解释程序的版本值,16进制格式如:0x020403F0
    sys.version 获取python解释器的版本信息
    sys.maxsize 最大的int值
    sys.maxunicode 最大的Unicode值
    sys.modules 返回系统导入的模块字段,key是模块名,value是模块
    sys.path 返回模块的搜索路径,初始化时使用python环境变量的值
    sys.platform 返回操作系统平台名称
    sys.stdout 标准输出
    sys.stdin 标准输入
    sys.stderr 错误输出
    sys.exec_prefix 返回平台独立的Python文件安装位置
    sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
    sys.copyright 记录Python版本相关的东西
    sys.api_version 解释器的C的API版本
    sys.version_info
    
  15. unittest是什么?
    在python中,unittest是python中的单元测试框架。它拥有支持共享搭建、自动测试、在测试中暂停代码、将不同测试迭代成一组、等等

  16. 模块和包是什么?
    在python中,模块是搭建程序的一种方式。每一个python代码文件都是一个模块,并可以引用其他模块
    一个包含许多python代码的文件夹是一个包,一个包可以包含模块和子文件夹

  17. python是强语言类型还是弱语言类型?
    python是强类型的动态脚本语言
    强类型:不允许不同类型相加
    动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候
    脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译

  18. Linux的基本命令(怎么区分一个文件和文件夹)?
    Is-F 在显示名称的时候会在文件夹后面添加“/”,在文件后面加“*”

  19. Linux查看某个服务的端口?
    netstat -anp|grep service_name

  20. 常用的linux命令?
    ls 查看目录中的文件
    cd 跳转目录
    mkdir 创建目录
    rm 删除
    最全的Linux基础命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值