第二章 python面面观

《用python玩转数据》学习笔记2

1、判断语句

1、if... elif... else...
if expretion:
expr_true_suite
if expression:
expr_true_suite
elif expression2:
expr2_true_suite
:
:
elif expressionN:
exprN_true_suite
else:
none_of_the_above_suite
注意:保持语句缩进一致,而且避免使用tab进行缩进

2、range函数

range(start,end,step=1)
range(start,end)
range(end)

3、循环

while循环
while expression:
suite_to_repeat
for 循环
for iter_var in iterable_object:
suite_to_repeat

4、break和continue

(1)break语句终止当前循环,转而执行循环之后的语句
(2)在while和for循环中,continue语句的作用:
–停止当前循环,重新进入循环
–while循环则判断循环条件是否满足
–for循环则判断迭代是否已经结束

5、自定义函数

使用def定义自定义函数
例如:
def hello_func():
print("Hello!")
自定义函数的参数

  • 默认参数:函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,默认参数以赋值语句的形式提供(以下程序未显示缩进,注意格式)
    def func(x = True):
    if x:
    print("input is True")
  • 默认参数:可变的默认参数。默认参数一般需要放置在参数列表的最后,否则会引起报错“SyntaxError: non-default argument follows default argument”
  • 关键字参数:让调用者通过使用参数名区分参数。允许改变参数列表中的参数顺序
    def test_func(x, test_string):
    if x:
    print(test_string)
    调用:
    (1)统一通过位置来传递参数
    test_func(True, "hello world")
    (2)通过关键字来传递参数
    test_func(x = True, test_string = "hello world")
    test_func(test_string = "hello world", x = True)
    (3)不能一半使用关键字参数,一半不使用(即是要么全部使用关键字穿参,要么全部通过位置)
    test_func(x = True, "hello world")
    SyntaxError: non-keyword argafter keyword arg
  • 函数可以像参数一样传递给另外一个函数
    def double_func(x)
    return x*2
    def show_func(f, x):
    print(f(x))
    输入:
    show_func(double_func, 5)
    输出:
    10

6、lambda函数

re = lambda x, y: x + y*2
print(re(1,2))
输出:
5

图1 lambda函数

7、递归

  • 递归必须要有边界条件,即停止递归的条件
  • 递归的代码更简洁,更符合自然逻辑,更容易理解
  • 相较于循环,递归的计算复杂度和资源消耗更大。
    经典问题:汉诺塔

8、变量作用域

  • 全局变量
  • 局部变量

9、异常处理

9.1查看异常类 dir(__builtins__)

9.2异常类及相关描述

图2 异常类及描述

9.3异常处理方法

  • try...except...语句


    图3 单异常处理
  • 多个except子句和一个except块捕捉多个异常


    图4 多异常处理
  • 空except子句和as


    图5 通用性处理
  • try...except...else...


    图6 else处理

10、常用的python标准库函数

10.1 math模块

图7 math库基本函数

10.2 os模块

图7 os模块

10.3 random模块

图8 random模块

10.4 datetime模块

图9 datetime
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 3,906评论 0 27
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 6,027评论 2 16
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,606评论 1 24
  • 01 暮春之野 清晨 打柴郎 山歌响彻林梢 歌声远 余音绕枕 惊扰 梦一枚 姑娘 思相酬 02 吹皱一池春水 ...
    宛悦派阅读 338评论 2 8
  • Given a binary tree, determine if it is a valid binary se...
    matrxyz阅读 168评论 0 0

友情链接更多精彩内容