Python自然语言处理 4 编写结构化程序

解决以下问题:

(1)怎么能写出结构良好,可读的程序,使你和其他人能够很容易地冲用它

(2)基本结构块,如循环,函数及赋值,是如何执行的?

(3)Python编程的陷进有哪些,你将如何避免它们?

一,回到基础

#赋值

链表的赋值,实际上是一个对象的引用,要了解这里发生了什么,需要知道链表是如何存储在计算机内存的

foo = ['Monty', 'Python']
bar = foo
foo[1] = 'Bodkin'
bar 
['Monty', 'Bodkin']

#等式

python提供了两种方法来检查一对项目是否相同

is操作和==

#条件语句

if...elif

all()函数和any()函数可以应用到一个链表(或其他序列),以检查是否全部或任一项目满足一些条件

sent = ['No','good','fish','goes','anywhere','without','a','porpoise','.']
all(len(w) > 4 for w in sent)
False
any(len(w) > 4 for w in sent)
True

二 序列


三 风格的问题


四 函数:结构化编程的基础

#函数的输入和输出

return语句将其结果返回给调用它的程序

#参数传递

与赋值一样,结构化对象的值是该对象的引用

#变量的作用域

名称解析的LGB规则:本地(local),全局(global),然后内置(built-in)

#参数类型检查

python不会强迫我们声明变量的类型

但可以使用if not type(p) is str来简单检测,或者使用assert 

#功能厅分解


#文档说明函数

@param  等docstring处理工具

五 更多关于函数

#作为参数的函数

可以使用lambda表达式

#累计函数

yield函数

http://www.jianshu.com/p/d09778f4e055

#高阶函数


#参数的命名

关键字参数

参数的默认值

参数可以按任意顺序指定,也可以省略

六 程序开发

#Python模块的结构

单独的.py文件,有些定义"类"

#多模块程序

import语句

#误差源头

调bugs

#调试技术

如果程序产生一个"异常"的运行错误,解释器会输出堆栈跟踪

#防御性编程

添加assert语句

七 算法设计

#递归

#空间与时间的权衡

#动态规划

八 Python库的样例

#Matplotlib绘图工具

#NetworkX包定义和操作由节点和边组成的结构(称为图)

#CSV

#Numpy数值运算包

#其他包

九 深入阅读












































  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工智能时代,编程已成为一项基本技能。Python,人工智能时代最佳的编程入门语言。本系列课程分为三部分:手把手教你学Python(基础篇)、手把手教你学Python(进阶篇)、手把手教你学Python(实战篇)。面向零基础用户,从无到有,从易到难,层层递进,带你遨游Python世界;采用案例驱动,即学即练即用,将学习落到实处。人工智能时代,编程已成为一项基本技能。国内一些发达省市,已将编程纳入中小学教材;编程门槛大幅降低,已不再是计算机行业的专利;学编程训练思维,受益终生;掌握编程可有效,提升工作效率。Python,人工智能时代最佳的编程入门语言。设计人性化,语法简单,容易掌握,近年来热度不断攀升;丰富的内置标准库,强大的第三方库,大大缩减编程工作量;网络爬虫、数据处理、科学计算方面的优势,适用于各行各业;强大的技术体系,能够胜任Web开发、系统运维、人工智能等主流领域本系列课程的主要内容安排。   基础篇:语法基础程序结构基本数据结构函数与异常处理常见库操作文件操作 …………   进阶篇:面向对象思想数据库操作Numpy库介绍Pandas库介绍数据可视化机器学习算法…………   实战篇:网络爬虫原理Requests库学习电影网站信息抓取Scrapy爬虫框架研招网数据抓取学位论文数据抓取…………课程教学特点:零基础,从无到有,从易到难,层层递进,带你遨游Python的世界;理论联系实践,案例驱动,即学即练即用,将学习落到实处;提供学习交流平台,在线答疑,自学途中不迷茫;本课程适用人群:计算机相关专业的新生准备转型从事数据处理的职场人员各行各业在职数据处理人员希望从事科学研究的人员程序设计爱好者课程目录安排如下: 第9章 Python面向对象9_1_类和对象9_2_实例变量9_3_类变量9_4_类中的方法9_5_类的继承9_6_对象的拷贝9_7_本章小结9_8_练习讲解19_9_练习讲解2第10章 Python操作数据库10_1_数据库基础10_2_结构化查询语句SQL10_3_Python操作数据库核心API10_4_Python操作数据库案例10_5_本章小结10_6_练习讲解第11章 Numpy入门与实践11_1_数组对象-ndarray11_2_索引和切片(上)11_3_索引和切片(下)11_4_Numpy中的通用函数11_5_数组运算11_6_本章小结11_7_练习讲解第12章 Pandas入门与实践12_1_Series和Index介绍12_2_Series数据访问和常用方法12_3_DataFrame创建与数据访问12_4_DataFrame中的属性和方法12_5_DataFrame的合并12_6_Pandas加载数据和缺失值处理12_7_Pandas中分组操作12_8_Pandas中数据合并操作12_9_Pandas综合案例12_10_本章小结12_11_练习讲解第13章 数据可视化-matplotlib13_1_pyplot绘图基础13_2_绘制线形图13_3_绘制直方图13_4_绘制条形图13_5_绘制饼状图13_6_绘制散点图13_7_生成词云图13_8_本章小结13_9_练习讲解第14章 机器学习库 Scikit-learn14_1_机器学习基础14_2_鸢尾花数据读取和可视化14_3_自己写KNN算法实现14_4_调用sklearn中的KNN算法14_5_波士顿房价预测问题14_6_手写数字识别14_7_本章小结 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值