110道python题+理解(不断更新)

此篇题目在网上已经广为流传,但好多都不做解释,所以我想着自己一道一道的做一遍,并将相关涉及的做个补充,个人知识毕竟片面,有不足的地方还请大家多多指正

 

一、请用一行代码实现1~100之和

>>> sum(range(0,101))
5050

理解:range函数用来生成整数列表,传两个参数表示范围的头尾,用区间表示注意前闭后开[0,101),即不包含最后一位数

二、如何在一个函数内部修改全局变量

>>> a = 5
>>> def fun():
...     global a
...     a = 4
... 
>>> fun()
>>> a
4

理解:

该问题涉及到作用域与命名空间,所以我们引申一下:

命名空间分为:内置命名空间,全局命名空间,局部命名空间

  内置命名空间:python启动时生成,比如print,input等

  全局命名空间:执行python代码时依次生成

  局部命名空间:调用函数时生成

再来说作用域,作用域只有两种,分别是:全局作用域和局部作用域

  全局作用域:包含内置和全局命名空间

  局部作用域:包含局部命名空间

在局部作用域内,对全局不可变类型的数据可以查看,但不能直接修改。如果需要修改,需先用global声明,这个时候,局部作用域的修改操作才会对其生效

三、列出5个python标准库

sys:通常用于命令行参数
os:提供了不少与操作系统相关的函数
re:正则匹配
math:数学运算
datetime:处理日期时间

理解:在这里主要理解一下os与sys

我们先看一下管方的解释

  sys:提供访问由解释器使用或维护的变量和在与解释器交互使用到的函数。

  os:提供一种方便的使用操作系统函数的方法

区别:sys提供了一系列的函数和变量用于操控python 的运行时环境,os提供的是访问操作系统底层的接口

posted @ 2019-01-16 14:52  赵先森~  阅读(562)  评论(0编辑  收藏  举报