笨办法学Python 笔记

笨办法学Python 笔记

第一部分:输入输出、变量、函数

Print部分

1、  如果你来自另一个国家,并且看到ASCII编码的错误,在python的最上面一行加上一行:-- coding:utf-8 --

2、  文本用引号引起来,单引号和双引号都行,但要注意用英文格式的,如果文本中已经有单引号,那整个文本就不能用单引号引起来的,要用双引号

3、  #注释

4、  Print 后可以同时跟文本和数字,中间用英文逗号隔开,但是打印的时候不打印逗号出来,打印出来的是用空格隔开的

5、  进行数学计算时,只要公式中存在一个浮点数,计算结果就是浮点数

6、  Python中直接给变量赋值就可,赋的值可以是已经被赋值的变量

格式化字符串 s% 传入字符串,d%传入的是整数,f%传入的是浮点数字,r%不管什么都传入,用法是将一个值插入到一个有字符串格式符的字符串中。%r 打印出来的是写在脚本里的内容,%s 打印的是应该看到的内容(转义字符问题)

例子:

my_height = 74 # inches

print ("He's %d inches tall." % my_height)

my_eyes = 'Blue'

my_hair = 'Brown'

print ("He's got %s eyes and %s hair." % (my_eyes, my_hair) )

7、  两个字符串之间用 + 连起来,就可以生成一个更长的字符串

8、  字符串中可以包含字符串

binary = "binary"

do_not = "don't"

y = "Those who know %s and those who %s." % (binary, do_not)

print "I also said: '%s'." % y

9、  字符串乘以整数数字,print "." * 10     结果为10个 .

10、 Print 后面加逗号,后再有一个print ,两个打印结果中间是空格隔开

11、 Print 后面换行,再有一个print ,两个打印结果也是换行

12、  可以先定义格式化字符,后传入值

formatter = "%r %r %r %r"

print formatter % (1, 2, 3, 4)

13、 print函数,默认以换行结尾,可以设置end的值来设置以什么结尾,print(‘’,end = “”)

14、 打印的字符串中加 代表换行

months = "Jan Feb Mar Apr May Jun Jul Aug"

print "Here are the months: ", months

15、 一大段文本如果要打印,用三个双引号 引起来  Print “””宽文本 “””,可以在一组三引号之内放入任意多行的文字,三个单引号和三个双引号实现的作用是一样的,三引号还有一个用途就是注释

16、 反斜杠 转义符。双反斜杠 \可以打印出一个反斜杠

17、 ” 将双引号转义。’将单引号转义

18、 制表符 相当于4个空格

传参部分

19、 在python2中有两个函数input() 和 Raw_input()  。Raw_input()用来获取控制台的输入,将所有输入作为字符串看待,返回字符串类型;input()只能接受数字的输入。

20、 在python3中,只保留了input()函数,接收任意类型输入,将所有输入默认为字符串处理,并返回字符串类型

21、 Raw_input() 可以在括号内输入提示语,例如 age = raw_input("How old are you? ")

22、 Pydoc 命令 生成说明性文档 在windows系统,命令行界面输入 python -m pydoc raw_input    输入q退出pydoc

23、 Import 将sys模组import进来,或将sys库import进来

24、 另外一种将变量传递给脚本的方法:传参。Argv是参数变量,根据具体程序确定传递参数的个数,在命令行运行时就给好参数。将每个参数赋予一个变量名,就是解包。第一个参数是文件名,例:

from sys import argv

script, first, second, third = argv

文件操作

25、 T = Open(文件名) 打开某个文件。传入文件名,返回一个值,将这个值赋给一个变量,这就是打开文件的过程,open获得是一个文件

26、 T.read()  读取已经打开的文件的内容,不需要传任何参数。Read是文件支持的命令,返回文件中的字节数。读取的结果可以写入别的文件

27、 函数和方法的区别:

28、 处理完文件后,要执行下close()命令,将文件关闭,跟编辑器中的保存一个意思

29、 Readline() 读取文件中的一行

30、 Truncate() 清空文件,是指阶段,将当前位置的后面的内容都清除

31、 Write(stuff) 将stuff写入文件

32、 open(filename, 'w') 如果要对打开的文件进行写入操作,需要在打开时指定w参数。open 对于文件的写入操作态度是安全第一,所以你只有特别指定以后,它才会进行写入操作

33、 exists(filename)   将文件名字符串作为参数,如果文件存在返回true,如果文件不存在返回false 调用方式:from os.path import exists

函数

34、 函数可以给代码片段命名,可以接受参数,可以创建微型脚本或者小命令

35、 使用def新建函数

36、 编程人员约定使用 *args 和 *kwargs作为可变参数的两种形式。*args传递一个可变参数列表给函数实参。*kwargs则是将一个可变的关键字参数的字典传给函数实参。通过解包的方式使用。

37、 函数可以接受可变参数,一个参数,多个参数,不接受任何参数

38、 函数定义以def开始,函数名称以字符和下划线组成,函数名称后紧跟括号,括号里包含参数,多个参数以逗号隔开,参数名称无重复,紧跟着参数的是括号和冒号,紧跟着函数定义的代码使用了4个空格的缩进,函数结束位置取消了缩进

39、 运行函数、调用函数、使用函数是一个意思。调用函数使用了函数名,函数名紧跟着括号,括号内有参数,多个参数用逗号隔开,函数以括号结束

40、 函数里边的变量和脚本里边的变量之间是没有连接的

41、 我们可以给我们的函数很多的参数,然后在函数里把它们打印出来,可以在函数里用变量名,可以在函数里做运算,甚至可以将变量和运算结合起来

42、 Seek函数:移动文件读取指针到指定位置,一个必选参数,一个可选参数,第一个从参数表示需要移动偏移的字节数。第二个参数表示从哪个位置开始偏移,默认值为0,0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

43、 Rewind 函数:将文件指针的位置倒回文件的开头。一个必选参数,输入一个已经打开的文件名,如果成功返回true,如果失败返回false

44、 函数可以返回东西,return 后面跟要返回的值

45、 整理:将前面习题中的所有的词和符号写下来,写出名字和作用。过一段时间后默写

46、 用一周的时间在网上阅读代码:

  1. 浏览器登录 bitbucket.org 搜索python
  2. 随便找一个项目,点进去
  3. 点击 source 标签,浏览目录和文件列表,直到看到以 .py 结尾的文件,setup.py不要看
  4. 阅读该代码,把功能记下来
  5. 看到有趣的符号或者奇怪的字符,记下来,日后研究
  6. 其他站点:github.com  launchpad.net   koders.com

47、  

48、  

第二部门:条件判断、循环、类和对象、代码测试、项目实现

逻辑关系和条件分支

49、  and 与;or 或;not 非;!= 不等于;==等于;>=大于等于;<=小于等于;True 真;False 假

50、 单if语句:if 语句下一行代码要4个空格的缩进(必须缩进不缩进会报错),如果满足if后紧跟的条件,就执行if的下一行代码,否则跳过该行代码。if 后紧跟的条件后是冒号,冒号后下一行

51、 if—elif—else 语句:首先判断if条件,如果满足条件执行if下一行跟的代码,后面elif和else的部分不会再判断,如果不满足if条件,才会继续往下判断

52、

53、  if 语句内部可以嵌套if语句

循环和列表

54、 列表就是一个按顺序存放东西的容器,列表中的元素用英文逗号分隔,整个列表用中括号包裹,可以将列表及里面的内容赋给一个变量,例如 count = [1,2,3,4]

55、 for循环:

56、

57、 range函数:range(start,stop[,step])  从start开始,到stop结束,步长为step

58、 不使用for循环将一个变量赋值为range(0,5)  count = list(range(0,5))

59、 append列表操作函数。将元素添加到列表中

60、 其他列表操作函数:

61、 while循环:一直循环直到条件为false 。尽量少用,检查不会死循环

62、 列表的每一个元素都有一个地址或者一个索引,索引从0开始。序数从1开始,减一就是基数,基数从0开始

分支和函数

63、 在很多类型的操作系统里,``exit(0)`` 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。 exit(1) 表示发生了错误,而 exit(0) 则表示程序是正常退出的。这和我们学的布尔逻辑 0==False 正好相反,不过你可以用不一样的数字表示不同的错误结果。比如你可以用 exit(100) 来表示另一种和 exit(2)` 或 exit(1) 不同的错误

64、 in和not in用于容器类型的成员判断,如if x in s,如果x是s的成员,将返回True,否则返回False.

65、 is和is not用于对象身份的判断,只有x和y是同一个对象时,x is y 返回True,否则返回False.

66、 判断用户输入的是不是数字:

67、

68、 还有一种方法可以判断汉字是不是数字:

69、

70、 还有一个函数可以判断是不是正整数:

71、

设计与调试

72、 if语句的规则:

1、  每一个if语句必须包含一个else

2、  如果这个else永远都不应该被执行到,因为它本身没有任何意义,那你必须在else语句后面使用一个叫die的函数,让他打印出错误信息并且死给你看,这和上一节的习题类似,这样你可以找到很多的错误

3、  if语句的嵌套不要超过2层,最好尽量保持一个if,elif,else组合就跟一个段落的句子组合一样,在这种组合的最前面和最后面留一个空行以作区分

4、  你的布尔测试应该很简单,如果他们很复杂的话,你需要将他们的运算事先放到一个变量里,并且为变量取一个好名字

73、 循环的规则

  1. 只有在循环永不停止时使用while循环,这意味着你可能永远都用不到。这条只有python中成立,其他的语言另当别论。
  2. 其他类型的循环都使用for循环,尤其是在循环的对象数量固定或者有限的情况下。

74、 调试(debug)的小技巧

  1. 不要使用debugger,debugger所作的相当于对病人的全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息态度,而且大部分没有用,或者只会让你更困惑
  2. 最好的调试程序的方法是使用print在各个你想要检查的关键环节将关键变量打印出来,从而检查那里是否有错
  3. 让程序一部分一部分的运行起来。不要等到一个很长的脚本写完后才去运行它,写一点,运行一点,再修改一点

75、 每一个程序员在开始一个新的大项目时,都会被非理性的恐怖影响到,为了避免这种恐惧,他们会拖延时间,到最后一事无成。我有时也会这样,每个人都会有这样的经历,避免这种情况的最好的方法是把自己要做的事情列出来,一次完成一样,开始做,先做一个小点的版本,扩充它让它变大,把自己要完成的事情一一列出来,然后逐个完成就可以了。

原文地址:https://www.cnblogs.com/xiyouzhi/p/13156835.html