跳至主要內容
11-面向对象(上):从生活中的类比说起

你好,我是悦创。

很多朋友最开始学编程的时候,是从 C++ 或者 JAVA 语言入手的。他们好不容易磕磕绊绊地搞懂了最基本的数据类型、赋值判断和循环,却又迎面撞上了 OOP (object oriented programming) 的大墙,一头扎进公有私有保护、多重继承、多态派生、纯函数、抽象类、友元函数等一堆专有名词的汪洋大海中找不到彼岸,于是就放弃了进阶之路。

相比之下,Python 是一门相对友好的语言,它在创立之初就鼓励命令交互式的轻量级编程。理论上,Python 的命令式语言是图灵完备的, 也就是说命令式语言,理论上可以做到其他任何语言能够做到的所有的事情,甚至进一步,仅仅依靠汇编语言的 MOV 指令,就能实现图灵完备编程。


AI悦创原创...大约 8 分钟Python 进阶Python 进阶
01-什么是二分查找

你好,我是悦创。

二分查找(Binary Search),是一种效率较高的查找方法。在面试或算法竞赛中,查找相关的问题最优解通常就是二分查找。特别在现场面试中尤其重要,常用二分查找来考察面试者的编码能力和算法思维。

二分查找也称为折半查找。如果一个查找问题能够用一个条件消除一半的查找区域,那么就对目标在特定空间搜索,从而减少查找空间。

边界处理!

虽然二分查找思路比较直观,但大部分面试者通常在边界处理的时候考虑不全,从而出错。

有很多原因导致二分查找处理边界失败!例如,当目标位于数组第0个索引时,或位于第(n - 1)个索引时,程序进入死循环。


AI悦创原创...大约 6 分钟Python 进阶Python 进阶
00-二分查找算法小课

课程概要

二分查找(Binary Search),是一种效率较高的查找方法。在面试或算法竞赛中,查找相关的问题最优解通常就是二分查找。特别在现场面试中尤其重要,常用二分查找来考察面试者的编码能力和算法思维。

二分查找也称为折半查找。如果一个查找问题能够用一个条件消除一半的查找区域,那么就对目标在特定空间搜索,从而减少查找空间。

该小课将对二分算法进行专题讲解,并结合二分变形问题深入学习二分算法,结合精心挑选的练习题,涵盖了算法中最常见的二分问题。 希望通过该课程,未来你应付各种面试并进一步提高算法思维。

课程目录


AI悦创原创...大约 2 分钟Python 进阶Python 进阶
09-不可或缺的自定义函数

你好,我是悦创。

实际工作生活中,我曾见到不少初学者编写的 Python 程序,他们长达几百行的代码中,却没有一个函数,通通按顺序堆到一块儿,不仅让人读起来费时费力,往往也是错误连连。

一个规范的值得借鉴的 Python 程序,除非代码量很少(比如 10 行、20 行以下),基本都应该由多个函数组成,这样的代码才更加模块化、规范化。

函数是 Python 程序中不可或缺的一部分。事实上,在前面的学习中,我们已经用到了很多 Python 的内置函数,比如 sorted() 表示对一个集合序列排序,len() 表示返回一个集合序列的长度大小等等。这节课,我们主要来学习 Python 的自定义函数。


AI悦创原创...大约 17 分钟Python 进阶Python 进阶
if not 的理解

你好,我是悦创。

if not 的理解

l = None # 空 False
# not False >>> True
if not l:
    print('ok')
else:
    print('No')
print(not False)

AI悦创原创...大约 1 分钟Python 进阶小白补充Python 进阶小白补充
理解*args和**kwargs

你好,我是悦创。

星号 (*) 可用于 Python 中的不同情况:

  • 乘法和幂运算
  • 创建具有重复元素的列表、元组或字符串
  • *args**kwargs 和关键字参数
  • 为函数参数解包列表/元组/字典
  • 拆包容器
  • 将容器合并到列表/合并字典

1. 乘法和幂运算

print(7 * 5)
print(2**4)

# ---output---
35
16

AI悦创原创...大约 4 分钟Python 进阶小白补充Python 进阶小白补充
2
3