python 学习笔记4
来源:互联网 发布:网络贷款信息会泄露吗 编辑:程序博客网 时间:2024/05/22 04:56
Modules, Classes, and Objects
A First-Class Example
class Song(object): def __init__(self, lyrics): self.lyrics = lyrics def sing_me_a_song(self): for line in self.lyrics: print line happy_bday = Song(["Happy birthday to you", "I don't want to get sued", "So I'll stop right there"])bulls_on_parade = Song(["They rally around the family", "With pockets full of shells"])happy_bday.sing_me_a_song()bulls_on_parade.sing_me_a_song()
Learning to Speak Object Oriented
import randomfrom urllib import urlopenimport sysWORD_URL = "http://learncodethehardway.org/words.txt"WORDS = []PHRASES = { "class %%%(%%%):": "Make a class named %%% that is-a %%%.", "class %%%(object):\n\tdef __init__(self, ***)" : "class %%% has-a __init__ that takes self and *** parameters.", "class %%%(object):\n\tdef ***(self, @@@)": "class %%% has-a function named *** that takes self and @@@ parameters.", "*** = %%%()": "Set *** to an instance of class %%%.", "***.***(@@@)": "From *** get the *** function, and call it with parameters self, @@@.", "***.*** = '***'": "From *** get the *** attribute and set it to '***'."}# do they want to drill phrases firstPHRASE_FIRST = Falseif len(sys.argv) == 2 and sys.argv[1] == "english": PHRASE_FIRST = True# load up the words from the websitefor word in urlopen(WORD_URL).readlines(): WORDS.append(word.strip())def convert(snippet, phrase): class_names = [w.capitalize() for w in random.sample(WORDS, snippet.count("%%%"))] other_names = random.sample(WORDS, snippet.count("***")) results = [] param_names = [] for i in range(0, snippet.count("@@@")): param_count = random.randint(1,3) param_names.append(', '.join(random.sample(WORDS, param_count))) for sentence in snippet, phrase: result = sentence[:] # fake class names for word in class_names: result = result.replace("%%%", word, 1) # fake other names for word in other_names: result = result.replace("***", word, 1) # fake parameter lists for word in param_names: result = result.replace("@@@", word, 1) results.append(result) return results# keep going until they hit CTRL- Dtry: while True: snippets = PHRASES.keys() random.shuffle(snippets) for snippet in snippets: phrase = PHRASES[snippet] question, answer = convert(snippet, phrase) if PHRASE_FIRST: question, answer = answer, question print question raw_input("> ") print "ANSWER: %s\n\n" % answerexcept EOFError: print "\nBye"
0 0
- Python学习笔记(4)
- python学习笔记4
- Python 学习笔记 - 4
- python 学习笔记4
- python学习笔记4
- Python学习笔记4
- python 学习笔记4
- python学习笔记(4)
- python 学习笔记4
- python学习笔记4
- Python学习笔记4
- python学习笔记4
- Python 学习笔记4
- python学习笔记4
- Python学习笔记4
- Python学习笔记--4
- python 学习笔记4
- Python学习笔记 4
- solr 安装,配置,测试
- sql之left join、right join、inner join的区别
- Oracle 12c安装步骤及使用问题总结:
- 自定义控件(18)---自定义控件之面板思想---addRule
- 关于NSString的练习题
- python 学习笔记4
- kettle4.4在eclipse中运行调试
- VC和MATLAB混合开发经验总结
- 野人学Android第二弹——Handler与Thread之间的关系
- Django1.8 python3 验证码 ImageFont.truetype IOError:cannot openresource
- HDOJ 4325 Flowers 【线段树 离散化 区间更新 单点查询】
- 结构体实现模拟时钟
- OC学习心得之面向对象三大特征
- 剑指offer66题 中篇