2019-03-06 python1

2019-03-06  本文已影响0人  run_a_way

难点

python
yield
设计模式:工厂模式、单例模式
闭包、装饰器
进程池pool

蓝图
孤儿进程、僵尸进程

高级编程todo

CGI
mysql
mongodb
json
smtp邮件
网络编程
多线程
xml

标准库todo

os:操作系统接口
glob:文件通配符
re:正则
math:数学
urlib:互联网
datatime:日期和时间
zlib:数据压缩
timeit:性能度量
doctest、unittest:测试

环境:anaconda

中文:# -- coding: UTF-8 --
多行:multiline="hello
world
!"
标准数据类型:数字、字符串、元组
列表、字典、集合
元组(),列表[]
运算符:算术、比较、赋值、逻辑(and\or\not)、位、成员(in\not in)、身份(is\not is)、优先级

数字

数学函数:abs、ceil、cmp、exp、fabs、floor、log、log10、max、min、modf、pow、round、sqrt。
随机数函数:choice、randrange、random、seed、shuffle、uniform。
三角函数:
数学常量:pi、e

字符串

转义字符:
字符串格式化:
三引号可以字符串跨行。
字符串内建函数:capitalize、center、count、bytes.decode、encode、endswith、expandtabs、find、index、isalnum、isalpha、isdigit、islower、isnumeric、isspace、join 、len...

列表

函数:max、min、len、list(元组)
方法:append、count、extend、index、insert、pop、remove、reverse、sort、clear、copy。

字典

集合

操作:add、remove、clear

other

end关键字
for循环:

for i in range():

*迭代器生成器*

>>>list=[1,2,3,4]
>>> it = iter(list)    # 创建迭代器对象
>>> print (next(it))   # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>

#!/usr/bin/python3
 
list=[1,2,3,4]
it = iter(list)    # 创建迭代器对象
for x in it:
    print (x, end=" ")

def函数

定长参数:
不定长参数:

# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vartuple)
 
# 调用printinfo 函数
printinfo( 70, 60, 50 )
# 可写函数说明
def printinfo( arg1, **vardict ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vardict)
 
# 调用printinfo 函数
printinfo(1, a=2,b=3)
>>> 
1
{'a':2,'b':3}

匿名函数lambda:

# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

作用域:局部变量、全局变量

数据结构

数组(列表实现)
堆(列表实现)
队列(列表实现)

>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry")           # Terry arrives
>>> queue.append("Graham")          # Graham arrives
>>> queue.popleft()                 # The first to arrive now leaves
'Eric'
>>> queue.popleft()                 # The second to arrive now leaves
'John'
>>> queue                           # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])

列表推导式:

>>> [[x, x**2] for x in vec]
[[2, 4], [4, 16], [6, 36]]

del
字典遍历

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
...     print(k, v)
...
gallahad the pure
robin the brave

zip:

>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
...     print('What is your {0}?  It is {1}.'.format(q, a))
...
What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.

模块

name属性:

一个模块被另一个程序第一次引入时,其主程序将运行。
如果我们想在模块被引入时,模块中的某一程序块不执行,
我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
#!/usr/bin/python3
# Filename: using_name.py

if __name__ == '__main__':
   print('程序自身在运行')
else:
   print('我来自另一模块')
运行输出如下:

$ python using_name.py
程序自身在运行
$ python
>>> import using_name
我来自另一模块
>>>

dir()

输入输出

repr():

>>> #  repr() 函数可以转义字符串中的特殊字符
... hello = 'hello, runoob\n'
>>> hellos = repr(hello)
>>> print(hellos)
'hello, runoob\n'

rjust:

>>> for x in range(1, 11):
...     print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')
...     # 注意前一行 'end' 的使用
...     print(repr(x*x*x).rjust(4))
...
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

{0:2d}

>>> for x in range(1, 11):
...     print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
...
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

zfill()

>>> '12'.zfill(5)
'00012'
>>> '-3.14'.zfill(7)
'-003.14'
>>> '3.14159265359'.zfill(5)
'3.14159265359'

str.format():

>>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))
菜鸟教程网址: "www.runoob.com!"
>>> print('{0} 和 {1}'.format('Google', 'Runoob'))
Google 和 Runoob
>>> print('{1} 和 {0}'.format('Google', 'Runoob'))
Runoob 和 Google
>>> print('{name}网址: {site}'.format(name='菜鸟教程', site='www.runoob.com'))
菜鸟教程网址: www.runoob.com
>>> import math
>>> print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))
常量 PI 的值近似为 3.142。

在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。
>>> table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
>>> for name, number in table.items():
...     print('{0:10} ==> {1:10d}'.format(name, number))
...
Runoob     ==>          2
Taobao     ==>          3
Google     ==>          1

读写

read、readline、readlines、tell、seek、close

# 打开一个文件
f = open("/tmp/foo.txt", "w")

f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )

# 关闭打开的文件
f.close()

str = input("请输入:");
print ("你输入的内容是: ", str)

picle序列与反序列化

os文件/目录方法

私有变量、私有方法

上一篇下一篇

猜你喜欢

热点阅读