在未来面前,每个人都是学生
江海升月明,天涯共此时,关注江时!
引
子
本篇为AI未来系列第二篇,基础部分完结。为什么要研究学习python?python是未来屠龙的屠龙宝刀,再辅助以我们的高中数学基础(足够用的屠龙术),小白们即可把握人工智能的未来。本系列初步阶段主要攻克数据分析问题,中阶攻克爬虫问题,高阶进入人工智能阶段,顺带会穿插一些硬件知识。
想想这种偶然中的必然,心潮澎湃。Furture is coming,just do it。时不我待,今天是2019年2月13日农历初九,赶紧开始第二篇——幼儿园级,老妪也会,0基础学python一本通(下)。
正
文
六、函数
函数基本框架如下(【】中的内容表示是或选的,可以不写):
def 函数名(参数):
【'''函数说明文档'''】
函数主体
【return 返回对象】
函数小例子
序列最大值: 1111
默认参数的使用
1是正数
-10不是正数
事实上,在调用很多python函数时,我们都使用了默认的参数设置
可变参数
28
如果不设置为可变参数的话,需要传入一个序列形式的参数
报错
28
关键词参数
注意参数**other,这个参数允许我们传入任意个含参数名的参数,这些关键词参数在函数调用时会自动组装为一个dict
例如我们在做信息录入时,姓名,年龄,学校是必填信息,而其他信息是选填的,这时候就可以使用关键词参数
姓名: 娜塔莎 罗曼诺夫 年龄: 99 学校: 圣地亚哥大学 其他信息: {}
姓名: 娜塔莎 罗曼诺夫 年龄: 99 学校: 圣地亚哥大学 其他信息: {'性别': '女', '工作': '特工'}
混合参数
在python函数定义中,可以用必选参数,默认参数,可变参数,关键词参数。注意这些参数的定义顺序为:必选参数,默认参数,可变参数和关键词参数
姓名: 娜塔莎 罗曼诺夫 年龄: 99 婚姻状况: 未婚 就读学校: () 其他信息: {}
姓名: 娜塔莎 罗曼诺夫 年龄: 99 婚姻状况: 已婚 就读学校: ('浙江大学', '上海财经大学') 其他信息: {}
姓名: 娜塔莎 罗曼诺夫 年龄: 99 婚姻状况: 已婚 就读学校: ('浙江大学', '上海财经大学') 其他信息: {'性别': '女', '工作': '特工'}
递归函数
递归函数的含义是在函数定义过程中,会调用函数本身
120
匿名函数——lambda函数
lambda函数的基本格式为: lambda 参数: 表达式
匿名函数定义更为简便(控制在一行),有些简单的函数可以用它来写,或者作为复杂函数的组成部分
定义函数
10 大于 1
-10 小于 1
七、模块
模块简单来说是一个保存了python代码的文件
很多python开源库就是模块
调用numpy产生10个标准正态随机数
[-0.86123492 -0.91268667 0.83897686 0.29236517 -1.30950825 -1.14943404
-0.36781918 0.13990052 0.4298387 -0.80505142]
查看math模块下的所有子模块、变量和函数 ['doc__', '_file_', '_loader_', '_name_', '_package_', '__spec', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
八、异常处理
在程序编写过程中,难免会有一些错误。python中有一些语句可以处理这些异常或者错误,使得程序能够运行,且识别到错误的位置
try..except函数
在下面的例子中,当j=0,10/0是会报错的,利用try..except语句之后还是可以将其他部分正常运行出来
九、面向对象
面向对象是Python的特点。面向对象主要通过类class的定义来实现。类class是用来描述具有相同属性和方法的对象的集合。类定义了该集合中的每个对象的共有属性和方法
可以将类理解为一个模块,模块中包含很多个函数,每个函数用来实现某一个功能
对象是根据类创建的实例,通过实例化对象就可以执行类中的各个函数
面向对象不好理解。这里用一个小例子来说明面向对象的基本用法,关于面向对象在后面的系列中还会详述其更高层次的用法
例如,我们想创建一个简单的游戏程序,涉及到游戏人物的创建,几个游戏环节的设计等等
史蒂夫 罗杰斯,18岁,男,1000战斗力
托尼 斯塔克,20岁,男,1800战斗力
娜塔莎 罗曼诺夫,19岁,女,2500战斗力
史蒂夫 罗杰斯参加了一次多人PK,消耗战斗力500
托尼 斯塔克参加了一次自我修炼,增长战斗力100
娜塔莎 罗曼诺夫参加了一次野外战斗,消耗战斗力200
史蒂夫 罗杰斯,18岁,男,500战斗力
托尼 斯塔克,20岁,男,1900战斗力
娜塔莎 罗曼诺夫,19岁,女,2300战斗力
十、文件读写
在进行数据分析之前,可能需要读写自己的数据文件。或者在完成数据分析之后,想把结果输出到外部的文件
在Python中,利用pandas模块中的几个函数,可以轻松实现这些功能,利用pandas读取文件之后数据的格式为数据框,且如果想用pandas将数据输出为外部文件,也要先确保要输出的文件的格式为数据框
注意因为这里演示了文件的操作,需要将文件上传到网站的数据文件目录下才可以成功运行程序
10.1 读取txt文件
10.2 读取excel/csv文件
10.3 输出为excel/csv文件
注意因为这里演示了文件的操作,需要将文件上传到网站的数据文件目录下才可以成功运行程序
来源:我的印象笔记整理
ABO
Me
JiangShi【ID:siteacher】
AI CREATE FURTURE
VALUE LAST LONG
领取专属 10元无门槛券
私享最新 技术干货