复习(1~4)

第一天:

  1 Python文件类型:
  2 源代码
  3 Python源代码文件以”py”为扩展名,由Python程序解释,不需要编译
  4 字节代码
  5 - Python源码文件经编译后生成的扩展名为”pyc”的文件
  6 - 编译方法:
  7 import py_compile
  8 py_compile.compile(‘hello.py’)
  9 优化代码
 10 - 经过优化的源码文件,扩展名为”pyo”
 11 - python –O –m py_compile hello.py
 12 
 13 Python变量:
 14 变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。
 15 Python下变量是对一个数据的引用
 16 
 17 变量的命名
 18 - 变量名由字母、数字、下划线组成。
 19 - 变量不能以数字开头
 20 - 不可以使用关键字
 21 - a a1 _a
 22 变量的赋值
 23 - 是变量的声明和定义的过程
 24 a = 1
 25 id(a)
 26 Python运算符包括
 27 - 赋值运算符
 28 - 算术运算符
 29 - 关系运算符
 30 - 逻辑运算符
 31 表达式是将不同的数据(包括变量、函数)用运算符号按一定规则连接起来的一种式子。
 32 
 33 Python数据类型
 34 数值
 35 字符串
 36 列表
 37 元组
 38 字典
 39 
 40 数值类型
 41 - 整型
 42 - 长整型
 43 - 浮点型
 44 - 复数型
 45 
 46 整型int
 47 int可以存储2^32个数字,范围-2,147,483,648到2147483647
 48 例如:0,100,-100
 49 长整型long
 50 Long的范围很大,几乎可以说任意大的整数均可以存储。
 51 为了区分普通整型,需要在整数后加L或l。
 52 例如: 2345L,0x34al
 53 
 54 浮点型
 55 •例如:0.0,12.0,-18.8,3e+7等
 56 
 57 复数型complex
 58 •Python对复数提供内嵌支持,这是其他大部分软件所没有的。
 59 •复数例子:- 3.14j,8.32e-36j
 60 •>>> num = 3.14j
 61 •>>> type(num)
 62 •<type 'complex'>
 63 •>>> num
 64 •3.1400000000000001j
 65 •>>> print num
 66 •3.14j
 67 •>>>
 68 
 69 字符串类型--string
 70 •有三种方法定义字符串类型
 71 
 72 str = ‘this is a string’
 73 str = “this is a string”
 74 str = ‘’’this is a string’’’
 75 •三重引号(docstring)除了能定义字符串还可以用作注释。
 76 字符串
 77 •字符串索引
 78 字符串是序列,可以通过索引取每个字符
 79 
 80 str = ‘abcde’
 81 str[0] + str[1]
 82 •字符串切片
 83 
 84 str[1:3]
 85 'bc'
 86 str[:3]
 87 'abc'
 88 str[3:]
 89 'de'
 90 str[::1]
 91 'abcde'
 92 str[::2]
 93 'ace‘
 94 str[-1]
 95 'e'
 96 str[-4:-1]
 97 'bcd‘
 98 str[-2:-4:-1]
 99 'dc'
100 
101 序列
102 •字符串、列表和元组都是序列
103 •序列的两个主要特点是索引操作符和切片操作符
104 
105 索引操作符让我们可以从序列中抓取一个特定项目
106 切片操作符让我们能够获取序列的一个切片,即一部分序列。
107 序列的基本操作
108 •1. len(): 求序列的长度
109 •2. +: 连接2个序列
110 •3. *: 重复序列元素
111 •4. in: 判断元素是否在序列中
112 •5. max(): 返回最大值
113 •6. min(): 返回最小值
114 •7. cmp(x, y):比较两个序列是否相等
115 
116 元组()
117 •元组和列表十分相似
118 •元组和字符串一样是不可变的
119 
120 元组可以存储一系列的值
121 元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
122 •创建元组
123 •t= ()
124 •t= (2,)
125 •t = (‘james’, ‘M’)
126 
127 元组操作
128 
129 元组和字符串一样属于序列类型,可以通过索引和切片操作
130 元组值不可变
131 •元组的拆分
132 t = (1,2,3)
133 a, b, c = t
134 列表[]
135 •列表(list)是处理一组有序项目的数据结构, 即可以在列表中存储一个序列的项目。
136 •列表是可变类型的数据
137 •创建列表
138 - list1 = []
139 - list2 = list()
140 - list3 = [‘a’,1,2]
141 列表操作
142 - 取值
143 切片和索引
144 - 添加
145 list.append()
146 - 删除
147 del list[]
148 list.remove(list[])
149 - 修改
150 list[] = x
151 - 查找
152 var in list
153 字典{}
154 •字典是python中的唯一的映射类型(哈希表)
155 •字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。
156 •字典的方法:
157 
158 keys()
159 values()
160 items()
161 
162 #创建字典
163 dic = {}
164 dic = dict()
165 help(dict)
166 dict((['a',1],['b',2]))
167 dict(a=1, b=2)
168 fromkeys(),
169 #字典元素有相同的值,默认为None。
170 ddict = {}.fromkeys((‘x’,’y’), 100)
171 
172 #访问字典
173 直接使用key访问:key不存在会报错,可以使用has_key()或者in和not in判断。
174 循环遍历:
175 例:for k in dic.keys():
176 for k in dic:
177 for k, v in dic.items():
178 更新
179 直接用键值访问更新
180 内建方法update()
181 •删除
182 del dic[‘a’]
183 dic.pop[‘a’]
184 dic.clear()
185 del dict
第一天

第二天:

 1 # Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
 2 #
 3 # Python 编程中 if 语句用于控制程序的执行,基本形式为:
 4 #
 5 # if 判断条件:
 6 #     执行语句……
 7 # else:
 8 #     执行语句……
 9 # 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
10 #
11 # else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句
12 a=1
13 if a>0:
14     print('a= %d' %a)
15 print('the end')
16 
17 #if else条件判断
18 a=1
19 if a<0:
20     print('a是负数')
21 elif a>0:
22     print('a是正数')
23 else:
24     print('a=0')
25 
26 #while循环
27 # Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
28 # 
29 # while 判断条件:
30 #     执行语句……
31 # 执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
32 # 
33 # 当判断条件假false时,循环结束。
34 b=10
35 while b>0:
36     print('b= %d' %b)
37     b-=1
38 print('the end')
39 
40 #for循环
41 # Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
42 #
43 # 语法:
44 #
45 # for循环的语法格式如下:
46 #
47 # for iterating_var in sequence:
48 #    statements(s)
49 print(range(1,51))
50 for i in xrange(1,52):
51     print('i=%d' % i)
52 test=dict(a=1,b=2,c=3,d=4)
53 for i,j in enumerate(test):
54     print(i,j)
55 #enymerate函数中默认分离key和value,在for循环中通过i,j自动赋值key,value,将所有元素遍历出来
56 #如果是列表就自动遍历下标和列表元素。
57 
58 for i in xrange(1,11):
59     if i==3:
60         print('aaaaa')
61         continue
62     print('i=%d' %i)
63 for i in xrange(1,11):
64     if i==3:
65         print('aaaaa')
66         break
67     print('i=%d' %i)
68 
69 # 
70 # 循环控制语句
71 # 循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
72 #
73 # 控制语句    描述
74 # break语句    在语句块执行过程中终止循环,并且跳出整个循环
75 # continue语句    在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
76 # pass语句    pass是空语句,是为了保持程序结构的完整性。
View Code

第三天:

  1 2.6
  2 # 使用for循环遍历文件
  3 
  4 fd = open('/tmp/hello.txt')
  5   for line in fd:
  6         print line,
  7 
  8 # 2.7
  9 # 使用while循环遍历文件
 10 
 11 fd = open('/tmp/hello.txt')
 12 while True:
 13       line = fd.readline()
 14   if not line:
 15         break
 16     print line,
 17 fd.close()
 18 
 19 # 2.8
 20 # 统计系统剩余的内存
 21 with open('/proc/meminfo') as fd:
 22     # 查看内存的文件 /proc/meminfo
 23    for line in fd:
 24        if line.startswith('MemTotal'):
 25             # line.startswith(‘a’) 匹配以a开头的行
 26             total =  line.split()[1]
 27             # line.split()[1]   以空格为分隔符,形式列表,去第二段
 28             continue
 29         if line.startswith('MemFree'):
 30             free = line.split()[1]
 31             break
 32 print "%.2f" % (int(free)/1024.0)+'M'
 33 #"%.2f" 格式化字符串
 34 print "%.2f" % (int(total)/1024.0)+'M'
 35 c =  float(free) / float(total)*100
 36 print "%.2f" % c+'%'
 37 print "%.2f" % (float(free)/float(total)*100)+'%'
 38 
 39 # cat meminfo.py
 40 # python meminfo.py
 41 # free -m
 42 
 43 # 2.9
 44 # 数据类型转换计算(计算mac地址)
 45 mac_addr = '00:16:31:02:D2:1C'
 46 last_two = mac_addr[-2:]
 47 plus_one = hex(int(last_two,16)+1)[2:]
 48 if len(plus_one) == 1:
 49     plus_one = '0'+plus_one
 50 else:
 51     pass
 52 next_addr = mac_addr[:-2]+plus_one.upper()
 53 print next_addr
 54 #
 55 # 3.0
 56 # 数据类型转换(列表与字典相互转换)
 57 #
 58 # 对元组进行转换
 59 fruits = ('apple', 'banana', 'orange')
 60 
 61 # 元组转换为列表:
 62 list(fruit)
 63 
 64 # 元组不能直接转换为字典,附:
 65 # 元组转换为字符串:
 66 fruits.__str__()
 67 #
 68 # 对列表的转换
 69 fruit_list = ['apple', 'banana', 'orange']
 70 
 71 # 列表转换为元组:
 72 tuple(fruit_list)
 73 
 74 # 列表不能直接转换为字典,附:
 75 # 列表转换为字符串:
 76 str(fruit_list)
 77 #
 78 # 对字典的转换
 79 fruit_dict = {'apple': 1, 'banana': 2, 'orange': 3}
 80 # 将字典的key转换为元组:
 81 tuple(fruit_dict)
 82 # 将字典的value转换为元组:
 83 tuple(fruit_dict.value())
 84 
 85 # 将字典的key转换为列表:
 86 list(fruit_dict)
 87 # 将字典的value转换为列表:
 88 list(fruit_dict.value())
 89 # 附:
 90 # 将字典转换为字符串:
 91 str(fruit_dict)
 92 # 对字符串的转换
 93 # 将字符串转换为元组:
 94 str = "(1,2,3)"
 95 tuple(eval(str))
 96 # 将字符串转换为列表:
 97 str = "(1,2,3)"
 98 list(eval(str))
 99 # 将字符串转换为字典:
100 str = "{'a':1 ,'b',2}"
101 eval(str)
View Code

第四天:

 1 #复习
 2 
 3 # 函数定义
 4 # 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字。
 5 # 可以通过函数名在程序的不同地方多次执行(这通常叫函数调用)。
 6 # 为什么使用函数
 7 # 降低编程难度
 8 # - 通常将一个复杂的大问题分解成一系列的小问题,然后将小问题划分成更小的问题,当问题细化为足够简单时,我们就可以分而治之。各个小问题解决了,大问题就迎刃而解了。
 9 # 代码重用
10 # - 避免重复劳作,提供效率
11 
12 # 函数的定义和调用
13 # - def 函数名([参数列表]): //定义
14 # - 函数名([参数列表]) //调用
15 
16 # 函数的参数
17 # 形式参数和实际参数
18 # - 在定义函数时,函数名后面括号中的变量名称叫做“形式参数”,或者称为“形参”
19 # - 在调用函数时,函数名后面括号中的变量名称叫做“实际参数”,或者称为“实参”
20 # 缺省参数(默认参数)
21 # def fun(x, y=100):
22 # print x,y
23 # fun(1,2)
24 # fun(1)
25 
26 # 函数的变量
27 # 局部变量和全局变量
28 # - Python中的任何变量都有特定的作用域
29 # - 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量
30 # - 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量
31 #
32 # global语句
33 # - global 变量名
34 # 强制声明为全局变量
35 #
36 # 函数返回值
37 # - 函数被调用后会返回一个指定的值
38 # - 函数调用后默认返回None
39 # - return 返回值
40 # - 返回值可以是任意类型
41 # - return执行后,函数终止
42 # - return与print区别
43 #
44 # 多类型传值和冗余参数
45 #
46 # 向函数传元组和字典
47 # 处理多余实参
48 def fun(x,y,*args,**kwargs)
49 
50 
51 # 递归调用
52 # 计算5的阶乘
53 def factorial(n):
54 if n == 0:
55 return 1
56 else:
57 return n * factorial(n-1)
58 
59 print factorial(5)
View Code

 

 

 

posted @ 2017-12-02 10:04  依哈  阅读(102)  评论(0)    收藏  举报