人工智能--语音入门篇

2018-08-26 17:32:45来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

前戏

一、 知识储备

1.函数 : def args kwargs

def func(参数1,参数2):  # def 用来定义函数及函数名,参数1和参数2就是定义时的形参,也就是将来调用函数时必须要传入的参数
    变量1 = 参数1+参数2
    return 变量1
# *args 就是 将未定义且多余的 位置参数记录在内,偷偷的告诉你,args是个元祖,里面记录着你个函数传递的多余位置参数
 
 # **kwargs 就是 将多余的关键字参数记录在内,kwargs 其实是个dict哦,里面大概就是{"name":"python","age":1+1+1+1+1+1+18}
 def args_func(a,b,*args):  # args 里面保存着除了ab之外的所有多余参数
     print(args) # 这回知道是元组了吧
     for i in args:
         print(i)
 
 args_func(1,2,3,4,5,6)  # 这里调用的时候1,2分别传递给a,b,那么3456就会保存在args里面哦
 def kwargs_func(a, b, **kwargs):  # kwargs 里面保存着除了ab之外其他关键字传入参的参数
     print(kwargs)  # 这回知道是字典了吧
     for k, v in kwargs:
         print(k, v)
 
 kwargs_func(1, 2, c=3, d=4, e=5)  # 这里调用的时候,12分别传递给a,b 那么c=3,d=4,e=5 就会保存在**kwargs里面哦
 def args_kwargs_func(*args, **kwargs):  # 这里一定要注意*args 要在 **kwargs之前
     print(args)
     print(kwargs)
 

 args_kwargs_func(1, 2, a=1, b=2)  # 12存入args a=1,b=2 存入kwargs,这里要注意的是关键字传参之后,不可以在位置传参了

2.推导式

两个栗子:

2.1 列表推导式: 

li = [i for i in range(10)]  # 简单的列表推导式,就是在列表内写一个for循环对吧
 print(li)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 
 lis = [i for i in range(10) if i % 2 == 0]  # 这是带if 条件的列表推导式
 print(lis)  # [0, 2, 4, 6, 8

2.2 生成器推导式:

gener = (i for i in range(10))  # 简单的生成器推导式,就是在元组内写一个for循环对吧
 print(gener)  # <generator object <genexpr> at 0x04F9B3C0>
 
 geners = (i for i in range(10) if i % 2 == 0)  # 这是带if 条件的生成器推导式
 print(geners)  # <generator object <genexpr> at 0x04F9B3F0>

从上述来看,列表推导式和生成器推导式只是[] 与 () 的区别

但是实际上,生成器推导式的效率非常高,但可控性很差,比如不直观,用一次就没了

相对而言列表推导式的效率比较低,但是可控性强,可以反复利用,而且数据显示很直观

3.模块

字符串之json模块

 import json
 
 # 我们做一个字典
 dic = {
     "name": "Dragon",
     "age": 20,
     "hobby": ["摩托车", "骑车"],
     "other": {
         "say": "hello",
         "see": "beautiful girl",
     }
 }
 json_dic = json.dumps(dic)  # json序列化
 
 print(type(json_dic), json_dic)
 
 # <class 'str'> {"name": "Dragon", "age": 20, "hobby": ["\u6469\u6258\u8f66", "\u9a91\u8f66"], "other": {"say": "hello", "see": "beautiful girl"}}
 
 loads_dic = json.loads(json_dic) # json 反序列化
 
 print(type(loads_dic), loads_dic)
 
 # <class 'dict'> {'name': 'Dragon', 'age': 20, 'hobby': ['摩托车', '骑车'], 'other': {'say': 'hello', 'see': 'beautiful girl'}}

os模块,集成了很多操作系统的方法,比如创建文件夹,拼接路径,删除文件,创建文件等等

import os
os.path.join("a","b") # 组合路径 a/b
os.system("ls") # 执行系统命令
os.sep() # 获取当前操作系统的路径分隔符 
os.path.dirname(__file__) # 获取当前文件的所在目录

 

 

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【leetcode 简单】 第八十七题 两整数之和

下一篇:web框架---Flask