*)可以这样,不用保存递归中的变量

import os

def findFile (str,dir = os.path.abspath('.')):

for x in os.listdir(dir):

if os.path.isdir(os.path.join(dir,x)):

findFile(str,os.path.join(dir,x))

elif str in x:

print(os.path.join(dir,x))#我一直都是想办法保存在递归的程序中

*)谁说while最少会执行一次的,并不是这样

>>> while a>2:

... print(a)

... a-=1...>>>

>>> a=3

>>> while a>2:

... print(a)

... a-=1...3

View Code

*)append()和extend()的区别

append()和extend()都只能接受一个参数,但append()能接受不可迭代的或者不可迭代的,但extend只能接受可迭代的(iterable)

>>> a.extend(2,3)

Traceback (most recent call last):

File "", line 1, in

TypeError: extend() takes exactly one argument (2 given)

>>> a.extend(2)

Traceback (most recent call last):

File "", line 1, in

TypeError: 'int' object is not iterable

append()把参数添加到一个下标内

>>> a.append(b)

>>> a

[1, 2, 2, 4, [2, 4]]

extend()不是

>>> a=[1,2]

>>> b=[2,4]

>>> a.extend(b)

>>> a

[1, 2, 2, 4]

>>> a.append(b)

>>> a

[1, 2, 2, 4, [2, 4]]

*)方法名相同的情况下,例如方法名内部有重名的方法和参数,调用的情况

def name1(collection):

print('外面的name1,参数:collection:',collection)

def name1(collection):

print('里面的name1,参数:collection:',collection)

name1(collection)

if __name__=='__main__':

collection=[1,2,3,4,5,6]

name1(collection[2:])

(sort) λ python forTest.py

外面的name1,参数:collection: [3, 4, 5, 6]

里面的name1,参数:collection: [3, 4, 5, 6]

*)递归失败:

def name1(collection):

print('外面的name1,参数:collection:',collection)

name1(collection)

Traceback (most recent call last):

File "forTest.py", line 8, in

name1(a)

File "forTest.py", line 5, in name1

name1(collection)

File "forTest.py", line 5, in name1

name1(collection)

File "forTest.py", line 5, in name1

name1(collection)

[Previous line repeated 993 more times]

File "forTest.py", line 2, in name1

print('外面的name1,参数:collection:',collection)

RecursionError: maximum recursion depth exceeded while calling a Python object

*)python中的切片也是[a:b]是从a到b-1的

*)关于for循环中range(2),i到底是从0还是1开始。特别是在用数组的长度作为range的参数的时候经常会犯糊涂

还有range(a,b,c)无论怎样,返回的数组都是[a,....b-1](c>0)或者[a,.....b+1](c<0)就是不到b

#首先

>>> for i in range(5):

... print(i)

...

0

1

2

3

4

#其次

>>> s=[1,2,3,4,5]

>>> length=len(s)

>>> for i in range(length):#所以,这里完全不用-1,类似于,因为range()会减去1,这就抵消掉了数组长度比数组下标多了1这个属性说造成的访问数组会超出index这个trouble。

... print(s[i])

...

1

2

3

4

5

>>> length

5

*)range反向循环、反向递减、将步长设置为负数就好了,注意要调换开始和结束的位置

>>> for i in range(5,3,-1):#从5开始,到3结束

... print(i)

...

5

4

>>>

*)这样range(0,0)并不会抛出异常,而是什么也不输出

>>> for i in range(0,0):

... print(i)

...

>>>

python不好的地方_Python 语言中经常有疑惑的地方相关推荐

  1. python到底是啥_Python语言中的__init__到底是干什么的?

    本文主要向大家介绍了Python语言中的__init__到底是干什么的?通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 看到Python中有个函数名比较奇特,__init__我知道 ...

  2. python编程定义圆_Python语言编程系列014——PyQt中自定义圆形指示灯

    背景 PyQt是Qt界面库在Python下的绑定库,为熟悉或喜欢Qt的开发者在Python语言下编写GUI界面程序提供了极大的便利,关于自定义控件前面已经给出了两个例子,分别是自定义颜色指示框控件和自 ...

  3. python语言的语法_Python语言 中的一些特殊语法

    本文主要向大家介绍了Python语言 中的一些特殊语法,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.高阶函数 python支持函数式编程,它内置了一些特殊函数,这些函数具有 ...

  4. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)

    数据从不一样的角度能够用不一样的含义去解释它,如: 10,011,101 对上面这个数据,咱们有以下多种含义去解释它: 1)它是1个二进制数字,或者是1个十进制数字: 2)一段文本: 3)用 , 号分 ...

  5. python选择语句是什么语句_Python语言中的三种选择语句

    本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...

  6. python语言中有哪些函数_Python语言中的函数

    本文主要向大家介绍了Python语言中的函数,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数 ...

  7. python以下是变量合法命名的是_Python语言中以下哪个变量的命名是错误的

    [单选题]雨篷.阳台计量不正确的是( ) . [单选题]关于补体活化的MBL途径,哪项是错误的? [单选题]关于楼地面垫层的计量规则,描述错误的是( ). [单选题]根据<建设工程工程畺清单计价 ...

  8. python集合中的元素不允许重复_Python语言中同一个集合中的元素不会重复,每个元素都是唯一的。-智慧树Python数据分析与数据可视化章节答案...

    Python数据分析与数据可视化:Python语言中同一个集合中的元素不会重复,每个元素都是唯一的.[?ж???] A:对 B:错 Python数据分析与数据可视化章节测试答案: 对 更多相关问题 智 ...

  9. python怎么定义一个变量自增_Python语言中的自增运算

    本文主要向大家介绍了Python语言中的自增运算,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非 ...

最新文章

  1. Linux性能研究(总)
  2. 【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构
  3. android IO流_Flutter实战经验(十):打包和发布到 Android 平台
  4. 一文读懂NoSQL的模式 | 时光机
  5. Win10乱码了怎么解决 Win10系统乱码解决办法
  6. OJ1027: 判断水仙花数
  7. 关于FileSystemWatcher监听文件创建
  8. 【华为云技术分享】Nginx应用调优案例
  9. 小程序禁止左右拖动_网课视频快进小技巧
  10. c++中父类子类对象指针相互转换,成员函数调用方式
  11. 关于解决锐捷校园网客户端与vm虚拟机网络冲突问题的方法
  12. 如何将大华设备通过大华SDK接入Demo工具测试视频接入?
  13. 手机APP/小程序微模卡源码下载,开源开心免费开心
  14. xp系统怎么关闭wmi服务器,WinXP系统如何启用WMI服务,教您WinXP系统如何启用WMI服务...
  15. 优秀的云计算工程师需要学什么?云计算Docker学习路线
  16. 4_04_GLib库入门与实践_指针数组
  17. 求1加到n的发散思维方法
  18. Jmockit使用详解之Mocking
  19. The authenticity of host ‘172.16.132.189 (172.16.132.189)‘ can‘t be established.
  20. Notepad++ 7.6.4 x64安装包

热门文章

  1. C里面的scanf那个功能在matlab中实现
  2. boost之asio异步io使用实例
  3. VC++使用Soap ToolKit3.0调用WebService接口
  4. OpenCV图像处理——修复失焦模糊的图像
  5. 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 1 Convolutional Neural Networks: Step by Step
  6. 数字图像处理:基于MATLAB的车牌识别项目
  7. 删除第一个_学习数据结构--第二章:线性表(顺序存储、插入、删除)
  8. 在weka中配置自己的算法 zz
  9. 如何在 Azure 中的 Linux 经典虚拟机上设置终结点
  10. Ruby版本管理(RVM)