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

举报
Python新视野 发表于 2022/04/28 18:39:24 2022/04/28
【摘要】 今天和大家分享10个小白必会的Python知识点,虽然不难,但确实需要掌握,下面来看一下吧! 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.什...

今天和大家分享10个小白必会的Python知识点,虽然不难,但确实需要掌握,下面来看一下吧!

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))

	
     *
    ***
   *****
  *******
 *********


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。