首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

0基础学python一本通(下)——AI未来系列2

在未来面前,每个人都是学生

江海升月明,天涯共此时,关注江时

本篇为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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190213G19PYG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券