需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir(path) #循环处理列表 for d in dirs: #组装d得到其绝对路径 fileAbsPath=os.path.join(path,d) #判断是目录还是文件 #如果是文件直接打印,如果是目录再次调用此函数 if os.path.isfile((fileAbsPath)): print(d…
演示:简单递归函数的定义和使用 需求:1~5进行累加 找寻关系:函数名:mySum(num) 1).找临界点:运算到1(加到1)就结束了 2). 第一次:5+mySum(5-1)-->return 5+10 第二次:4+mySum(4-1)-->return 4+6 10 第三次:3+mySum(3-1)-->return 3+3 6 第四次:2+mySum(2-1)-->return 2+1 3 第五次:1 -->return 1 def mySum(num): if nu…
演示递归的弊端: def mySum(num): if num == 1: return 1 return num+mySum(num-1) mySum(998) [注意]:递归可以解决绝大多数循环能干的事情,但是使用递归非常占用系统资源(只有进行没有出栈),所以使用递归需要谨慎.…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十一课:加载模型 模型加载: 你知道大名鼎鼎的Milkshape3D建模软件么,我们将加载它的模型,当然你可以加载任何你认为不错的模型.   这篇渲染模型的文章是由Brett Porter所写的. 这篇教程的代码是从PortaL…
 孤荷凌寒自学python第三十一天python的datetime.timedelta模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.timedelta模块是一个表示 时间长度的 类,不是之前datetime.datetime那样的 表示 时间点(时刻点)的类. 一.怎样得到一个datetime.timedelta对象 (一)  方法一:两个表示时刻点的日期时间对象直接进行减法运算就会得到一个datetime.timedelta对象. 注意:datetime.da…
这一课,我们先接着上一课讲一下wait方法,以及wait方法是如何从静态方法变化实例方法的. 首先我们先看wait方法为啥可以从静态方法变成实例方法,请看register源码: Deferred.register= function(name, fun){  //name="wait",fun=Deferred.wait: this.prototype[name] = function(){   //this=Deferred,this.prototype[name]  = Defer…
在线课堂 一.数据库模型设计 # 在apps/course/models.py中定义如下模型: from django.db import models from utils.models import ModelBase class Teacher(ModelBase): name = models.CharField(max_length=150, verbose_name="讲师姓名", help_text='讲师姓名') positional_title = models.Ch…
封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. class dog(object): nationality='ch'#公有属性 def __init__(self,name,food,leven):#构造函数,方法,初始化方法 self.name=name #实例指针,指向 属性 对象成员 self.food=food self.leven=leve…
3.模块(m) 概念:在python中.py结尾的文件,我们就称为模块,可以将类.函数.属性...等内容定义在模块中 分类: 1).标准库模块:安装完python环境就有的模块,这些模块都是最常用的模块: 例如:random.os.os.path.math.... 2).第三方模块:别人写的有价值的代码(面向全世界),我们如果需要使用, 只需要通过pip安装即可 3).自定义模块:在项目开发过程中,团队中程序员自己定义的,可以给自己,也可以给别人调用 导入模块: 1).精确导入: 举例: imp…
演示with...as...操作 path=r'kaifanglist1.txt' with open(path,'r',encoding='utf-8') as fr: print(fr.read()) 注意事项: 1).将可能出现异常的代码定义到try语句中(try可以认为是扫描器), 但是它是不具备处理异常的能力 2).一旦try中出现了异常对象(自动.手动),第一个except会尝试去捕获它(捕获器), 如果类型匹配,则捕获成功,对象即被处理,然后会顺势去执行except中的内容(逻辑代…