第四周

2015-01-25

Ex40,object orient program

class

Tell Python to make anew type of thing

obejct

Two meanings: the mostbasic type of thing, and any instance of some thing.

instance

What you get when youtell Pyton to create a class

def

How you define afunction inside a class

self

Inside the functionsin a class, self is a variable for the instance/object being accessed.

inheritance

The concept that oneclass can inherit traits from another class, much like you and your parents.

composition

The concept that aclass can be composed of other classes as parts, much like how a car haswheels.

attribute

A property classeshave that are from composition and are usually variables.

is-a

A phrase to say thatsomething inherits from another, as in a "salmon" is-a"fish".

has-a

A phrase to say thatsomething is composed of other things or has a trait, as in "a salmonhas-a mouth."

 

 

classX(Y)

"Make a classnamed X that is-a Y."

classX(object): def __init__(self, J)

"class X has-a__init__ that takes self and J parameters."

classX(object): def M(self, J)

"class X has-afunction named M that takes self and J parameters."

foo= X()

"Set foo to aninstance of class X."

foo.M(J)

"From foo get theM function, and call it with parameters self, J."

foo.K= Q

"From foo get theK attribute and set it to Q."

 

Q: What does result = sentence[:] do?

A:That's a Python way of copying a list. You're using the list slice syntax [:] toeffectively make a slice from the very first element to the very last one.

 

来自 <http://learnpythonthehardway.org/book/ex41.html>

 

Note:

__init__() 可以理解为function的一种特殊的写法

Self的用法与Javascript的object里的self相同,均可以理解为类里的对象

 eg: salmon = class Fish( ),  那么 self = salmon 执行class里的功能

        pistol = class Gun( ),  self = pistol 执行class里的功能

 

2015-01-25

Ex43:

该处的逻辑大体明白,判断,利用字典来引导发生各种情况。但是class内定义函数里的一些函数还需要反复理解。

Classxxx(object) 这种类内部的变量与函数都是可以相互引用??

 

2015-01-26~ 2015-01-31

Learnpythonthehardway进展到了ex44,练习了各种继承的写法,学习super用法。

Ex45指导构建自己定义的游戏,本周也由于各种原因比较懈怠,进度没有及时推进。粗略地阅读了ex45至ex52,其中仍有3个科目比较重要,advanced user input,website, get input from a browser.之前比较急躁地想快速结束python科目的学习,也是以失败告终,最后几章的练习量比预期的多再加之最近兴趣到了低谷期。

 

2015-02-01

之前在阅读Think python的时候有留意到 __main__构架下的变量均为global

初次理解为__xxx__格式定义下的函数,后来勘误发现这种理解错误,__xxx__仍旧只是一种普通的函数名写法而已。而上文提到的__main__函数指的是编译之后的函数,在编程过程中理解应为写在 def, class之外的函数。

LinuxMOOC section 3, 4

 

---------------

本周的项目主要是测试LCD1602

结果是参考接线完成后成功点亮LCD,由于没有电位器所以不能调节LCD亮度。故无法判断实验是否成功。而后自己串联电阻尝试模拟电位器,在测试了2.5V(1:1),3.3V(1:2)之后,LCD背光仍然很亮无法显示出字符。所以在淘宝补了货,在春节休假前应该可以完成调试。

以下是我参考的教程,主要是针对接线以及测试程序,虽然LCD测试失败,但是电路安全上应该没有问题。

 

注意:在接通电源前请再次检查接线,接线不当会对树莓派造成损毁!

 

连接液晶屏:

LCD1602液晶屏提供了16列x2行的ASCII字符显示能力,工作电压5V,提供4位数据与8位数据两种工作模式,Raspberry Pi的GPIO口数量很有限,所以我们使用4位数据模式。

LCD1602液晶屏模块提供了16个引脚,我们只需接其中的12个即可:

1. VSS,接地,RPi PIN 6

2. VDD,接5V电源,PRi PIN 2

3. VO,液晶对比度调节,接电位器中间的引脚 (高电位,降低对比度)

4. RS,寄存器选择,接GPIO 14,RPi PIN 8

5. RW,读写选择,接地,表示写模式,PRi PIN 6

6. EN,使能信号,接GPIO 15,RPi PIN 10

7. D0,数据位0,4位工作模式下不用,不接

8. D1,数据位1,4位工作模式下不用,不接

9. D2,数据位2,4位工作模式下不用,不接

10. D3,数据位3,4位工作模式下不用,不接

11. D4,数据位4,接GPIO 17,RPi PIN 11

12. D5,数据位5,接GPIO 18,RPi PIN 12

13. D6,数据位6,接GPIO 27,RPi PIN 13

14. D7,数据位7,接GPIO 22,RPi PIN 15

15. A,液晶屏背光+,接5V,RPi PIN 2

16. K,液晶屏背光-,接地,RPi PIN 6

 

来自 <http://www.freemindworld.com/blog/2013/130310_raspberry_pi_with_lcd.shtml>

 

使用git功能,下载Adafruit_CharLCD.py的库

gitclone https://github.com/lifanxi/rpimenu.git

 

来自 <http://www.freemindworld.com/blog/2013/130310_raspberry_pi_with_lcd.shtml>

 

 

测试代码之前需要安装必要的

开发套件

sudo apt-get install python-dev

来自 <http://www.geekfan.net/5588/>

组件

sudo apt-get install python-setuptools
sudo easy_install -Udistribute 
sudo apt-get install python-pip


来自 <http://www.geekfan.net/5588/>

 

 

GPIO包

sudo pip install rpi.gpio

 

来自 <http://www.geekfan.net/5588/>

 

没有电位器调不了亮度

http://www.geekfan.net/5588/

电位器选型 10K

---------------

总结一下使用LCD1602所需的硬件:

Pi, LCD, 杜邦线(公公,公母),10K电位器,最好有一个面包板方便插线。

---------------

总结:本周开始进入瓶颈期,兴趣助推效果减弱,但是依然坚持一定量的学习,克服波谷周期。错开学习内容,python看不太进去了就多学些Linux。照以前半途而废的事情来看,波谷时间如果能平滑度过,养成习惯,切割为每周的小目标则容易坚持下来。不过自己半途而废的事情也不再少数,希望不多这一个。

回过头来,需要给自己一个坚持的理由。存在一时的兴趣爱好,但是热情也会烧光。与工作相关度并不高,自己期望编程的经历能给以后再工作中进行数据分析提供一定的思路以及便利。自我分析之后,参照,模仿,都还算比较擅长,工作中也经常参照之前已经完工的项目,但是改进,创造方面就显得能力非常薄弱,难以对未知的未知切入分析。前者也是目前工作中以及后续职业规划发展中的重中之重,”营销成功来源于对市场进行预测而不是仅仅对消费者的变化作出反应。真正的企业家会促使变化发生,创造需求”,《公司战略与风险管理》中如是说。

编程即创造,这是我的理解。

后续针对python的学习分两步进行,第一是找到合适的项目,第二是去debug/理解git上其他人的python代码。

坚持,共勉。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值