矩阵管理函数:glLoadIdentity()是把当前活动矩阵设置为单位矩阵. 栈处理函数:glPushMatrix()是将当前活动的变换矩阵复制一份,压入栈顶:glPopMatrix()是破坏当前活动的变换矩阵,将栈顶的矩阵弹出,设置为当前矩阵.栈中最底下默认有一个单位矩阵,因此glPopMatrix()只有在栈中矩阵数量>=2时才能使用. 9.8和9.9节书中提到,使用栈处理函数比矩阵管理函数更高效,尤其是在栈函数使用硬件实现时(这句话没有理解).拿7.4节的例子(介绍矩阵操作在7.9节中)…
(1)内存管理函数与内存管理运算符的区别 内存管理函数有内存分配函数,malloc calloc realloc 以及内存释放函数free. 内存管理运算符有new 和delete. 两种内存管理方式的最大区别就是malloc以及free等内存管理函数是库函数,不在编译器的控制 范围之内.并且在创建对象实例时,malloc只是负责内存的分配,并没有对分配的内存调用构造函数以及初始化.malloc分配的内存时void类型的内存,需要做相应的内存转换. 而内存管理运算符(new delete)完成了…
一. 三元表达式 一 .三元表达式 仅应用于: 1.条件成立返回,一个值 2.条件不成立返回 ,一个值 def max2(x,y): #普通函数定义 if x > y: return x else: return y res=max2(10,11) print(res) # res=x if x > y else y #三元表达式 # print(res) #def max2(x,y): #return x if x > y else y #代码简洁,方便 #print(max2(10,…
X86-64寄存器和栈帧 概要 说到x86-64,总不免要说说AMD的牛逼,x86-64是x86系列中集大成者,继承了向后兼容的优良传统,最早由AMD公司提出,代号AMD64:正是由于能向后兼容,AMD公司打了一场漂亮翻身战.导致Intel不得不转而生产兼容AMD64的CPU.这是IT行业以弱胜强的经典战役.不过,大家为了名称延续性,更习惯称这种系统结构为x86-64. X86-64在向后兼容的同时,更主要的是注入了全新的特性,特别的:x86-64有两种工作模式,32位OS既可以跑在传统模式中,…
一. 装饰器 装饰器就是闭包函数的一种应用场景 什么是闭包函数?我们再来回忆一下: 闭包函数: 定义在函数内部的函数,并且该函数包含对外部函数作用域(强调:对全局作用域名字的引用不算闭包)名字的引用,该函数称为闭包函数 说到作用域我们再回忆下: 作用域: 全局范围:内置+全局 全局有效,全局存活 局部范围:局部 局部有效,局部存活 作用域关系是在函数定义阶段就规定死,与调用位置无关, 也就是说,无论函数在哪儿调用,都必须回到当初定义函数时的位置找作用域关系 一 .为何要用装饰器 #开放封闭原则:…
昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: 1. 页面上交互 触发数据的变化 2. 去后端获取新的数据(异步操作 ajax请求) 3. dispatch('获取新数据') --> 放在actions中 4. 拿到了新数据了 5. 去更新state中对应的数据(同步操作 state.noteList=[xx,xx,xx])--> 放在muta…
昨日内容回顾 pymysql:属于python的一个模块 pip3 install pymysql conn = pymysql.connect(...,charset = 'uft8') 创建游标 conn.cursor(dic) (1)修改数据,删除数据,增加数据一定要commit cursor.execut(sql,{}|()|[]) 一定要注意sql注入 (2)fetchone() fetchmany(4) fetchall() cursor.close() conn.close() 一…
'''# len# 计算字符串的长度# s = '金老板小护士'# len(s)# 不能用 len 怎么办#low一点的方法# count = 0# for i in s:# count += 1# print(count) s1 = '班主任阿娇'# count = 0# for i in s1:# count += 1# print(count) #相当于把一段代码放到了一个地方# 函数 可以多次的调用函数def my_len(): # 定义函数(不执行,执行需要用到调用函数),my_len…
一:脚本文件 1)脚本文件的操作 import sys p=sys.argv print(p) #将python代码放到cmd中运行,在后面添加参数,会自动保存在输出的列表中,默认输出的列表中只有一个值,那就是当前文件的地址. 2)常用的环境 例:常用于程序的调试,省去了中间繁琐输出的时间,可以更快时间的调试程序. 二:函数的基本运用 1)函数的定义 def num_compare(a,b): if a>b: return a return b print(num_compare(2,3)) #…
一.今日主要内容总览(重点) 1.什么是函数? f(x)=x+1 y=x+1 函数是对功能或者动作的封装2.函数的语法和定义 def 函数名(): 函数体 调用:函数名()3.关于函数的返回值 return:返回 (1)当程序没写过return,不返回任何结果.如果你非要接收,接收到的是None (2)当函数写return 值,有一个返回值. (3)当函数写了 return 值1,值2,值3...... 返回多个结果,多个结果打包成元组 (4)当程序执行到return,函数结束执行 总结:ret…