python入门笔记
来源:互联网 发布:小狐狸 for mac 编辑:程序博客网 时间:2024/06/04 00:46
这是我第一次写博客,没想到我的第一次就给了python,也是因为最近深度学习的兴起, 让python语言好好的火了一把。由于之前在学习tensorflow,特别是对于官方给出的数据处理之类的代码,比如:input_data.py 看的不是太懂,虽说是入门级的代码,但毕竟是谷歌那些有丰富经验的工程师写的,对于没有python经验的我来说,还是蛮痛苦的。 这篇笔记主要是基于udacity的《编程基础:python》这个视频,可能其中会穿插一些tensorflow里的代码,因为之前有不理解的地方,现在多多少少理解了一些。这个笔记主要是写给自己看的,为了加深印象,所以不喜勿喷 !(如果有写的不对的地方,还请各位指正)
----------------------------------------------------------------分割线---------------------------------------------------------------------
1. 安装python 2.7
这个视频是基于python 2.7来讲的,所以最好下载一个python 2.7。安装也很简单,网上资料也很多,当然你也可以按照这个链接里的步骤去安装:https://classroom.udacity.com/courses/ud036/lessons/990110642/concepts/36691786570923
2.如何使用第三方模块?
python 如此强大在于它有着丰富的模块或者说是库函数,你可以做很多你想做的事,比如web开发,数据挖掘,爬虫等
就以课程中的例子, 该例子是通过运行程序向手机发送消息:
import twilio# from twilio.rest import Client 代表twilio文件里有一个rest文件,rest文件里有一个Client类# from twilio import rest # 一般插入某个模块直接import对应模块就可以了,当然也可使用关键字from,使用from后,你可以认为是插入了模块的某个特定的功能和属性,一个很明显的不同是:如果只是import twilio,要想用Client类则需要twilio.rest.Client,而采用from twilio import rest,则只要rest.Client。这是它们最明显的不同。# Your Account SID from twilio.com/consoleaccount_sid = "ACf7b5b692f1563b4761f0f8cccec16bee"# Your Auth Token from twilio.com/consoleauth_token = "853b3149ada33ca55780abecf9c9f43f"client = twilio.rest.Client(account_sid, auth_token)# client = rest.Client(account_sid, auth_token)message = client.messages.create( to="+86xxxxxxxxxx", from_="(331)214-3327", body="Hello from Python!")print(message.sid)
tips(关于使用import or from...import): 在构建大项目的时候,尽量用import modual ,这样会方便程序员知道该函数引用自哪个模块。
3. 类的定义和使用
class DataSet(object): def __init__(self, images, labels, fake_data=False, one_hot=False, dtype=tf.float32): """Construct a DataSet.""" self._images = images self._labels = labels self._epochs_completed = 0 self._index_in_epoch = 0以上是tensorflow数据处理里的一段代码,最需注意的是 __init__(self, ...),对于def __init__(self, ...) 里的第一个参数永远都是self ,指代创建的实例本身。 有了该初始化操作,创建实例时必须传入参数。一旦创建实例,该初始化函数就会被调用,之前看见def 还以为是需要自己调用的函数。
补充:
在一般的python文件中语句 if _name_== '_main_' 的作用:
参考例子里的代码:
代码1:
# one.pydef func(): print("func() in one.py") print("top-level in one.py")if __name__ == "__main__": # 对于_name_和_main_这两个特殊变量,它们是内置的,当所执行的程序并不是从外部import的情况下,name变量的值被置成_main_, 也就触发了恒等这个条件 print("one.py is being run directly") else: print("one.py is being imported into another module")
command line:
python one.py
输出是:
top-level in one.pyone.py is being run directly
代码2:
# two.pyimport one # 与上面代码不同的是这里将one.py这个文件插入到当前文件中,你可以想像该句的作用是将one文件里的 函数定义和类定义复制过来,只不过是隐藏了而已。所以先执行的是one.py文件里的语句。并且此时由于one文件是被imported的, 所以if条件是不满足的,执行else语句。print("top-level in two.py") one.func()if __name__ == "__main__": print("two.py is being run directly")else: print("two.py is being imported into another module")
command line:
python two.py
输出是:
top-level in one.pyone.py is being imported into another moduletop-level in two.pyfunc() in one.pytwo.py is being run directly
作用的话:我们经常在写代码时除了调动第三方模块,还需要import其他的文件,可能我们只是要调用其中的函数或者说代码重用,但又不想执行该文件。这个功能就达到了这个目的。
tensorflow的文件中的有用到以下代码:
if __name__=='__main__':tf.app.run()
其他和上面都是一样的, 主要是tf.app.run()语句,看其源码的话,就会知道它的作用,这里先占个坑,到时候需要了解再去看。
tips:这门课程主要侧重在类的一些基本概念的介绍,而且通过几个好玩的小项目来加深这种概念的理解,所以感觉这门课程更适合完全没有编程基础的童鞋儿,有基础的直接可以看看[2]或者是learning the python in hard way(虽然我并没有看过)。
reference:
[1] : https://cn.udacity.com/course/programming-foundations-with-python--ud036
[2] : 廖雪峰python教程
- Python 入门笔记
- Python入门笔记
- Python 入门笔记
- python入门笔记
- Python入门笔记
- python入门相关笔记
- python入门笔记
- python 入门笔记1
- Python入门笔记:集合
- python入门笔记
- python入门学习笔记
- python入门笔记--循环
- python入门笔记-词典
- python regex 入门笔记
- Python快速入门笔记
- Python入门笔记
- Python入门学习笔记
- python入门笔记_1
- python 函数、函数式编程、变量作用域、函数__doc__属性
- 架构师日记——规划Varnish的缓存大小和提高命中率
- Catch That Cow
- Highcharts 配置语法
- 请求参数预处理(pre-request)
- python入门笔记
- 树结构练习——排序二叉树的中序遍历
- 拦截导弹系列
- wordpress优化禁止直接通过ip访问防止恶意解析
- 数据库学习纪要(四):hive-4
- 华为2018优招笔试题
- 示波器空载时有纹波
- UVA
- springmvc 全部约束