函数也是对象,内存底层分析
对象:堆里面的内存块
def:在堆里创建函数对象
同时在栈里创建对象名字是函数名称,值为函数地址,进行调用时,函数名称(),表示调用函数,顺着地址找到函数进行调用,创建一次调用多次,
函数也是对象,内存底层分析
对象:堆里面的内存块
def:在堆里创建函数对象
同时在栈里创建对象名字是函数名称,值为函数地址,进行调用时,函数名称(),表示调用函数,顺着地址找到函数进行调用,创建一次调用多次,
形参和实参
文档字符串(函数的注释)
函数用法和底层分析
函数是可重用的程序代码块。python中,定义函数的语法如下:
def 函数名([参数列表]):
'''文档字符串'''
函数体/若干语句
要点:
使用def来定义函数,def之后是空格,然后是函数名和(),Python执行def时,会创建一个函数对象,并绑定到函数名变量上。
推导式创建序列
列表推导式
列表推导式生成列表对象,语法如下:
[表达式 for item in 可迭代对象]
字典推导式
{key:value for value for 表达式 in 可迭代对象}
集合推导式
{表达式 for item in 可迭代对象}
生成器推导式(用于生成元组)
一个生成器只能运行一次,用过不可再用。
NLP的关键技术
semantic
sytax
morphology
phonetics 语音识别
wastion
知识库
情感分析
舆情监控
使用zip()并行迭代
zip()函数对多个序列进行迭代
step 1:translation modle
step 2:languge modle
decoding analysis
DP 动态规划
贝叶斯公式!!!!
unigraw modle
bingraw modle
triangraw modle
循环代码优化(循环次数较多)
(1)尽量减少循环内部不必要的运算。
(2)嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
(3)局部变量查询较快,尽量使用局部变量。
(4)连接多个字符串,使用join而不使用+
(5)列表进行元素插入和删除,尽量在尾部jin'xing
else语句
while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则会执行else子句。否则不执行。
LM 语言模型
NLU 语音文本 meaning
NLG 意思 文本、语音
Ambiguity (一词多义)
break语句
break语句可用于while和for循环,用来结束整个循环,当有嵌套循环时,break语句只能跳出最近一层的循环。
continue语句
continue语句用于结束本次循环,继续下一次,多个循环嵌套时,continue也是应用于最近的一层循环。
嵌套循环
for循环和可迭代对象遍历
for循环通常用于可迭代对象的遍历,语法格式如下:
for 变量 in 可迭代对象:
循环体语句
循环结构
while循环
选择结构嵌套
一定要控制好不同级别代码块的缩进量。
多分支选择结构
双分支选择结构
三元条件运算符
条件为真时的值 if (条件表达式) else 条件为假时的值
选择结构
单分支选择结构
条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况如下:
False、0、0.0、空值None、空序列对象