笨方法学python出到第几版了_《“笨方法”学Python(第3版)》之Python学习篇(一)...

全书以练习题的方式来讲解Python 的基本知识,总共有52个习题,200页左右的内容,可以说是比较短小简练的,没有讲解特别细致,但这恰恰轻松易学,初学Python看这个还算挺不错的。下面对自己在看完这本书之后几个重要的点做一下总结:

1. 使用print输出一行,行尾自动换行。

2. 如果涉及到代码中的编码问题,在文件的开头加上一行: # -*- coding: utf-8 -*-

3. #号是用来注释的,如果要做多行注释,在每行前面放一个#就可以了。

4. 运算优先级: PEMDAS 即括号(Parentheses)、指数(Exponents)、乘(Multiplication)、除(Division)、加(Addition)、减(Subtraction)。

5. 四舍五入的是round()函数,如round(1.443)。

6. 可使用双引号或者单引号来识别字符串。

7. 用%格式化变量。

8. 如果想要在字符串中通过格式化字符放入多个变量,需要将变量放到圆括号中,且变量之间用逗号隔开。如:print "a person has %d eyes and %d %s" % (1,1,nose)。

9. %r用来做测试比价好,它会显示变量的原始数据,会自动选择最有效的方式打印字符串,%s是向用户显示输出的。

10. print “*” * 10作用是将“*”输出10遍。

11. 单引号一般用来创建简短的字符串。

12. print """  coding   """ 在三个双引号(单引号也是可以的)之间放入任意多行的文字,需要注意的是三个引号之间不能有空格。

13. 转译字符同JAVA、C几乎是差不多的

14. 使用了%r之后转义序列就不起作用了,所以记住:%r用于调试、%s用于显示。

15. 在print 之后加一个逗号,这样就不会自动换行了,但会自动带一个空格。

16. 获取用户输入的信息,可使用raw_input(),如x=raw_input(),不要使用input()函数,这样会将你输入的东西当做python代码进行处理,存在安全问题。  如果用x=int(raw_input())则会把用户输入的字符串用int()转换成整数。

17. 用%r会自动带引号,而且如果打印的字符串前面有个u,表示字符串是Unicode,而%s则不会出现上述情况。

18. 如果在raw_input()的括号里放一些字符串。则是显示出一个提示,告诉他人应该输入什么东西,如name = raw_input(“What's your name?”),后面不会自动带空格。

19. 在windows下输入python -m pydoc XX 可以查看相应函数的说明文档,如 python -m pydoc raw_input

20. import语句可以将某些模块导入进来,如 from sys import argv(从sys这个软件包中取出argv这个模块), argv即所谓的“参数变量(argument variable)”,保存着运行python脚本时传递给python脚本的参数。第0个参数就是文件名,示例代码如下

from sys import argv

script, name, age = argv

print "The script is called: ", script

print "your name is: ", name

print "you are %s years old " % age

21. 读取文件:open函数会接受一个参数,并返回一个值(file文件),然后调用read()可读取文件。需要注意的是python不会限制打开文件的次数,即可以多次打开同一个文件。示例代码如下(分别用argv和raw_input从用户那里获取文件信息)

from sys import argv

script, filename = argv

txt = open(filename)

print "Here is your file %r: " % filename

print txt.read()

print "Type the filename again:"

file_again = raw_input("> ")

txt_again = open(file_again)

print txt_again.read()

22. 在命令行里输入python按回车键则会进入python环境。然后可输入并运行一句句的代码。想退出就可按quit()再敲回车或者在windows环境下用Ctrl+Z即可。

23. 几个与文件相关的命令:close--关闭文件;read--读取文件内容;readline--读取文本文件中的一行,将指针移动到\n后面,所以读取了\n结尾自动换行;truncate--清空文件;write(xxx)将xxx写入文件;seek(0)回到文件的开始

24. open()中可附加一些参数,如‘w’表示写入模式,‘r’表示读取,‘a’表示追加,默认是以r模式打开。此外,还可在每个后面附加“+”修饰符,可以把文件用同时读写的方法打开,示例代码如下:

from sys import argv

script, filename = argv

print "Here is your file %r: " % filename

txt = open(filename, 'r+')

print "read the file "

print txt.read()

print "now truncate the file"

txt.truncate()

print "now write it "

txt.write("Hello World")

print "now finally close it "

txt.close()

25. exists命令将文件名字符串作为参数,如果文件存在的话返回True,不存在返回False。

26. len()函数的功能是以数的形式返回传递字符串的长度,示例代码如下:

from sys import argv

from os.path import exists

script, from_file, to_file = argv

print "coping from %s to %s " % (from_file, to_file)

indata = open(from_file).read()

print "the input file is %d bytes long " % len(from_file)

print "Does the output file exists? %r" % exists(to_file)

out_file = open(to_file,'w')

out_file.write(indata)

out_file.close()

27. 可以使用def定义函数,然后是函数名和形参,接着用冒号结束该行,然后下一行开始用四个空格缩进,代表函数的内容。*args代表接受一个参数列表,示例代码如下:

def print_two (*args):

arg1, arg2 = args

print "arg1: %r, arg2: %r" % (arg1, arg2)

def print_two_again(arg1, arg2):

print "arg1: %r, arg2: %r" % (arg1, arg2)

def print_one(arg1):

print "arg1: %r" % arg1

def print_none():

print "Hello world"

print_two("haha", "heihei")

print_two_again("why", "zmq")

print_one("hehe")

print_none()

28. 一段函数和文件的示例代码:

from sys import argv

script, input_file = argv

def print_all(f):

print f.read()

def rewind(f):

f.seek(0)

def print_a_line(line_count, f):

print line_count, f.readline(),

current_file = open(input_file)

print "First let's print the whole file: "

print_all(current_file)

print "now let's rewind "

rewind(current_file)

print "let's print the three lines"

current_line = 1

print_a_line(current_line, current_file)

current_line += 1

print_a_line(current_line, current_file)

current_line += 1

print_a_line(current_line, current_file)

29. 函数一次可以返回多个值。在定义函数时可以通过放在两个“”“之间的东西来写文档注释(帮助文档)。

30. 在用交互式方式的时候,导入某个python脚本,可使用 import xx 语句,之后不用加.py后缀。但是这样会使之后调用该脚本的函数时需要重复键入xxx. ,一个捷径是用from xxx import * 的方式来导入模块。

现在到了第26个习题了(本书的一半了),虽然这个书讲的只是个大概,不过初略地浏览下做些笔记还是挺不错的,很多地方亲自实践体会才是更好的方式。这个单独作为一个章节吧,下一章节是剩下的26个习题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值