笨方法学习Python笔记

来源:互联网 发布:mac如何磁盘分区 编辑:程序博客网 时间:2024/05/29 14:56

习题1—30

#:用于加注释 +:加号 -:减号 /:除法

//:整除 *:乘 %:格式化符号


字符串(string)

x = "There are %d types of people." % 10binary = "binary"do_not = "don't"y = "Those who know %s and those who %s." % (binary, do_not)

输入:

print "How old are you?",age = raw_input()

age = raw_input("How old are you? ")

在python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。(未总结完)

例:

from sys import argvscript, first, second, third = argvprint "The script is called:", scriptprint "Your first variable is:", firstprint "Your second variable is:", secondprint "Your third variable is:", third
运行时,输入参数,例

$ python test.py first 2nd 3rd
输出:

The script is called: test.pyYour first variable is: firstYour second variable is: 2ndYour third variable is: 3rd



open():打开文件

txt = open(filename)


read():读文件

print txt.read()


close():关闭文件(释放资源),如果不close(),那就要等到垃圾回收时,自动释放资源。垃圾回收的时机是不确定的,也无法控制的.如果程序是一个服务,或是需要很长时间才能执行完,或者很大并发执行,就可能导致资源被耗尽,也有可能导致死锁。

txt.close()


write():重写文件

txt.write()

函数的定义:

def print_two_again(arg1, arg2):    print "arg1: %r, arg2: %r" % (arg1, arg2)
函数的执行

print_two_again("Zed","Shaw")

函数返回值:

def add(a, b):    print "ADDING %d + %d" % (a, b)    return a + b

如果(if)

例1:

if 条件判断:    执行语句
备注:条件判断以 “:” 结束,执行语句用要缩进

if 条件判断:执行语句

例2:

if 条件判断:    执行语句1else:    执行语句2

if 条件判断:执行语句1else:执行语句2

习题31-52

for i in range(1,5)
相当于

for i in [1, 2, 3, 4]

while循环

尽量少用while-loop,大部分时候for-loop 是更好的选择

例:

i = 0numbers = []while i < 6:    print "At the top i is %d" % i    numbers.append(i)     i = i + 1

习题37 各种符号未总结


字典的操作

stuff = {'name': 'Tom', 'age': 36, 'height': 170}
增加

stuff[‘sex’] = ‘male’

删除:del 

del stuff['name']

函数与字典

cities['_find'] = find_citycity_found = cities['_find'](cities, state)
你要记住一个函数也可以作为一个变量,‘‘def find_city‘‘ 比如这一句创建了一个你可以在任何地方都能使用的变量。在这段代码里,我们首先把函数find_city 放到叫做cities 的字典中,并将其标记为'_find'。这和我们将州和市关联起来的代码做的事情一样,只不过我们在这里放了一个函数的名称。


原书作者记:

我学会了下面三种读代码的方法,它们适用于几乎所有的编程语言:

1. 从前向后。
2. 从后向前。
3. 逆时针方向。


Class类:

class TheThing(object):def __init__(self):self.number = 0def some_function(self):print "I got called."def add_me_up(self, more):self.number += morereturn self.number

原书作者记:

你开始看到Python 的“疣子”了。Python 是一门比较旧的语言,其中包含很多丑陋的设计决定。为了将这些丑陋设计掩盖过去,他们就做了一些新的丑陋设计,然后告诉人们让他们习惯这些新的坏设计。‘‘class TheThing(object)‘‘ 就是其中一个例子。这里我就不展开讲了,不过你也不必操心为什么你的class 要在后面添一个(object) ,只要跟着这样做就可以了,否则将来总有一天别的Python 程序员会吼你让你这样做。后面我们再讲为什么。
你看到参数里的self 了吧?你知道它是什么东西吗?对了,它就是Python 创建的额外的一个参数,有了它你才能实现a.some_function()` 这种用法,这时它就会把前者翻译成``some_function(a) 执行下去。为什么用self 呢?因为你的函数并不知道你的这个“实例”是来自叫TheThing 或者别的名字的class。所以你只要使用一个通用的名字self 。这样你写出来的函数就会在任何情况下都能正常工作。

接下来,看到__init__ 函数了吗?这就是你为Python class 设置内部变量的方式。你可以使用. 将它们设置到self 上面。另外看到我们使用了add_me_up() 为你创建的self.number 加值。后面你可以看到我们怎样可以使用这种方法为数字加值,然后打印出来。

备注:类与类之间的传递没有总结


原作者记:

技术公司里边会编程的人多到一毛钱一打,根本得不到什么尊敬。而在生物学、医药学、政府部门、社会学、物理学、数学等行业领域从事编程的人就能得到足够的尊敬,而且你可以使用这项技能在这些领域做出令人惊异的成就。







0 0
原创粉丝点击