Python小白需掌握的10个知识点

简介: Python小白需掌握的10个知识点

1.如何用 Python 输出一个 100 以内的斐波那契数列(Fibonacci sequence)?


>>> a, b = 0, 1
>>> while b < 100:
  print(b, end=' ')
  a, b = b, a + b
1 1 2 3 5 8 13 21 34 55 89
复制代码


2.什么是 lambda 函数?它有什么好处?


lambda 函数是一个可以接收任意多个参数 (包括可选参数) 并且返回单个表达式值的函数。 lambda 函数不能包含命令,它们所包含的表达式不能超过一个。


3.请简述 Python 中 is 和 == 的区别。


Python 中的对象包含三个要素:idtypevalueis 比较的是两个对象的 id== 比较的是两个对象的 value


4.请简述 function(*args, **kwargs) 中的 *args, **kwargs 分别是什么意思?


*args**kwargs 主要用于函数定义的参数。Python 语言允许将不定数量的参数传给一个函数,其中 *args 表示一个非键值对的可变参数列表,**kwargs 则表示不定数量的键值对参数列表。注意:*args**kwargs 可以同时在函数的定义中,但是 *args 必须在**kwargs 前面。


5.请简述面向对象中 __new__ 和 __init__ 的区别。


(1) __new__ 至少要有一个参数 cls,代表当前类,此参数在实例化时由 Python  解释器自动识别。

(2) __new__ 返回生成的实例,可以返回父类(通过 super (当前类名,  cls )的方式)__new__出来的实例, 或者直接是对象的 __new__ 出来的实例。这在自己编程实现 __new__ 时要特别注意。 (3) __init__ 有一个参数 self,就是这个 __new__ 返回的实例, __init____new__ 的基础上可以完成一些其它初始化的动作, __init__ 不需要返回值。 (4) 如果 __new__ 创建的是当前类的实例,会自动调用 __init__ ,通过返回语句里面调用的 __new__ 函 数的第一个参数是 cls 来保证是当前类实例,如果是其他类的类名,那么实际创建并返回的就是其他类的实例,也就不会调用当前类或其他类的 __init__ 函数。


6.Python 子类继承自多个父类时,如多个父类有同名方法,子类将继承自哪个方法?


Python 语言中子类继承父类的方法是按照继承的父类的先后顺序确定的,例如,子类 A 继承自父类 B、 C,且B、C中具有同名方法  Test() ,那么 A 中的 Test() 方法实际上是继承自B中的 Test() 方法。


7.判断两个字符串是否同构。


字符串同构是指字符串 s 中的所有字符都可以替换为 t 中的所有字符。在保留字符顺序的同时,必须用另 一个字符替换所有出现的字符。不能将 s 中的两个字符映射到 t 中同一个字符,但字符可以映射到自身。 试判定给定的字符串 s 和 t 是否同构。 例如:

s = "paper"

t = "title"

输出 True

s = "add"

t = "apple"

输出 False

>>> s = 'app'
>>> t = 'add'
>>> len(set(s)) == len(set(t)) == len(set(zip(s, t)))
True
复制代码


8.请写出匹配中国大陆手机号且结尾不是 4 和 7 的正则表达式。


>>> import re
>>> tel = '15674899231'
>>> "有效" if (re.match(r"1\d{9}[0-3,5-6,8-9]", tel) != None) else "无效"
'有效'
复制代码


9.使用递推式将矩阵 [ [1, 2], [3, 4], [5, 6] ] 转换为一维向量。


>>> a = [[1, 2], [3, 4], [5, 6]]
>>> [j for i in a for j in i]
[1, 2, 3, 4, 5, 6]
复制代码


10.编写 Python 程序,打印星号金字塔。


编写尽量短的 Python 程序,实现打印星号金字塔。例如 n=5 时输出以下金字塔图形:

*
   ***
  *****
 *******
*********
复制代码


>>> n = 5
>>> for i in range(1, n + 1):
  print(' '*(n-(i-1))+'*'*(2*i-1))
     *
    ***
   *****
  *******
 *********



相关文章
|
3月前
|
缓存 Java 索引
[Python]知识点
本文主要介绍了Python的一些高级知识点和使用细节,包括pip的使用、内置函数、列表、元组、字典、集合、变量、Lambda表达式、面向对象编程、异常处理、模块及标准库等。文章适合有一定Python基础的读者,重点在于深入理解和掌握Python的高级特性。文中还提供了大量示例代码,帮助读者更好地理解和应用这些知识点。
65 1
[Python]知识点
|
4月前
|
Python Windows
python知识点100篇系列(24)- 简单强大的日志记录器loguru
【10月更文挑战第11天】Loguru 是一个功能强大的日志记录库,支持日志滚动、压缩、定时删除、高亮和告警等功能。安装简单,使用方便,可通过 `pip install loguru` 快速安装。支持将日志输出到终端或文件,并提供丰富的配置选项,如按时间或大小滚动日志、压缩日志文件等。还支持与邮件通知模块结合,实现邮件告警功能。
python知识点100篇系列(24)- 简单强大的日志记录器loguru
|
4月前
|
自然语言处理 Python Windows
python知识点100篇系列(23)- 使用stylecloud生成词云
【10月更文挑战第10天】`stylecloud` 是 `wordcloud` 的优化版,支持使用 Font Awesome 图标自定义词云形状,操作更简便。本文介绍如何安装 `jieba` 和 `stylecloud` 库,并使用它们生成中文词云。通过 `jieba` 进行分词,再利用 `stylecloud` 的 `gen_stylecloud` 方法生成具有特定形状和颜色的词云图像。
python知识点100篇系列(23)- 使用stylecloud生成词云
|
4月前
|
调度 Python
python知识点100篇系列(20)-python协程与异步编程asyncio
【10月更文挑战第8天】协程(Coroutine)是一种用户态内的上下文切换技术,通过单线程实现代码块间的切换执行。Python中实现协程的方法包括yield、asyncio模块及async/await关键字。其中,async/await结合asyncio模块可更便捷地编写和管理协程,支持异步IO操作,提高程序并发性能。协程函数、协程对象、Task对象等是其核心概念。
|
4月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
4月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
108 1
|
4月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
145 3
python知识点100篇系列(15)-加密python源代码为pyd文件
|
4月前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
4月前
|
Java Python
python知识点100篇系列(16)-python中如何获取线程的返回值
【10月更文挑战第3天】本文介绍了两种在Python中实现多线程并获取返回值的方法。第一种是通过自定义线程类继承`Thread`类,重写`run`和`join`方法来实现;第二种则是利用`concurrent.futures`库,通过`ThreadPoolExecutor`管理线程池,简化了线程管理和结果获取的过程,推荐使用。示例代码展示了这两种方法的具体实现方式。
python知识点100篇系列(16)-python中如何获取线程的返回值
|
4月前
|
Python
python知识点100篇系列(14)-分割大文件然后在合并
【10月更文挑战第2天】在工作中,因邮件附件大小限制或网络条件不佳,常需将大文件分割为小文件发送,接收后再合并。Python的文件读写功能可轻松实现此需求,也可借助第三方库filesplit简化操作。安装filesplit后,仅需几行代码即可完成文件的分割与合并,但掌握Python内置方法同样重要。

热门文章

最新文章

推荐镜像

更多