python

来源:互联网 发布:http 服务器默认端口 编辑:程序博客网 时间:2024/06/10 02:26
1、class 语句
calss className(base_class):
statement(s)

2、类
calss c1(obj):
x = 32
print c1.x
3、自定义类
class className:
suit
calss calssName(base_class)
suit

4、
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
5、
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。


6、字典实例
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"


tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}




print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值




7、注释
单行注释#
多行注释 '''   '''
或者 """   """


8、三引号:

9、元组:
元组中的值不能修改

10、迭代器
迭代是Python最强大的功能之一,是访问集合元素的一种方式。。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器:
#!/usr/bin/python3
# -*- codring: -*-


import sys


l = [1, 2, 3, 4, 5]
a = iter(l)


while True:
try:
print(next(a))
except StopIteration:
sys.exit()



11、#! /usr/bin/env python 
env可以通过系统的搜索路径

12、input() : 可以直接让命令窗口停留在此刻等待敲下回车键
13、import fileName 首次引入可以执行文件的,但是第二次引入就不能执行文件
想要执行文件,就必须用reload()
>>> from imp import reload
>>>reload(fileName)
这样可以多次执行

14、文件的引入
一个文件名为lmy3.py,文件的内容为 t = "lmy3" 
>>>import lmy3
>>>lmy3.y
lmy3

或者
>>>from lmy3 import t 
>>>t
lmy3

>>>import lmy3
>>>dir(lmy3)#查看lmy3的所有变量

15、内置对象
数字
字符串     ‘’ ‘’ ‘’
列表       [      ]
字典       {      }
元组       (      ) 不能再原处修改 类似常量
文件 
集合 
编程单元类型

注:(只有列表  字典  集合 可以原处修改,  不能修改 数字 字符串  或元组)
(列表  字典  集合 可包含任意对象)
(列表  字典  集合 可以相互嵌套)
(列表  字典  可以动态库扩大和缩小)
16、str 和 repr
str:一般用途
repr:额外细节

17、Python中 变量没有类型  类型属于对象,而不是变量名


18、raw字符串抑制转义:
m = open('c:\new\test\r.py') 这样会将\n 和 \t 以及\r 分别解析出来,所以 将此句改为
m = open(r'c:\new\test\r.py')  或者
m = open('c:\\new\\test\\r.py')
print(m.read())

19、索引和分片


20、字典(关联数组)
他们同过键将一系列值联系在一起
任意对象的无序组合
可变长  异构  任意嵌套
属于可变映射类型

21、pickle存储Python的原生对象


22、struct模块能构造并解析打包的二进制数据

23、引用 和 复制
>>>x = ['jing', 'ji', 'zhong','guo']
>>>y = [10, x, 20]
>>>z = {'1': x, '2': y}
如果修改x[1]中的值, 其y 和z中所有引用x的值将同时被修改
若不想被修改, 则应该用
>>>b = x.copy()


24、比较  相等  真值
== 表示 操作符的测试值相等
is  表示测试对象的一致性(在同一内存地址中)
字典支持大小的比较

0假  1真
空假  非空真
none意味着未定义,即none中是某些内容,而不是没有内容,是一个真正的对象,并有一块内存
25、循环数据结构:
>>>l = ['lmy']
>>>l.append(l)
>>>l
['l', [...]]

>>>m = [1, 2]
>>>l.append(3)
>>>m
[1, 2, 3]

26、不可变类型不可以在原处改变
>>>t = (1, 2, 3)
>>>t[2] = 4  #error
>>>t = t[:2] + (4,)
或者:
>>>t = t[2:4] + (5,6)

27、函数生成器 yield
28、扩展序列解包
>>>q = [1, 2, 3, 4, 5, 6]
>>>a, b, c = q[0:3]
>>>a, *b = q
>>>*a, b = q
>>>a, *b, c = q
>>>a, *b = 'span'
若没有*或者多个*都错误
>>>a, b = q[0:2],q[2:4]

29、增强赋值语句:
x += x
x **= x
x -= x
x %= x
x <<= x
x |= x

30、enumerate() 返回索引和值
l = [1, 2, 3, 4]
for index , value in enumerate(l):
    print(index, value)

31、
dic = {'a': "nice", 'b': "to", 'c': "meet", 'd': 'you'}
for key, value in dic.items():
    print (key, value)

32、range迭代器
>>>r = range(10)
>>>I = iter(r)
>>>next(I)

33、map  zip  filter  迭代器 
支持相同结果上的多个活跃迭代器
>>>d = {'a':1, 'b':2, 'c':3}
>>>dkey = d.keys()
>>>dvalue = d.values()
>>>list(dkey)
>>>list(dvalue)
>>>diter = iter(dvalue)
>>>next(diter)

34、内置文档
>>>print(sys.__doc__)
>>>print(int.__doc__)

35、帮助文档
>>>help(dict)

36、html报表

37、函数
1)Python的多态
def f(x, y):
    return x * y#x*y完全取决于xy的对象类型


a = f(2, 3)
print(a) #6
b = f('t', 5)
print(b) #ttttt

38、支持多态
#查找字符串里面相同的字符
def intersect(s1,s2):
    res = []
    for x in s1:
        if x in s2:
            res.append(x)
    return res


39、python的全局变量就是  模块
40、变量名查找顺序:
本地-->函数内-->全局-->内置
默认,  变量名会创建或者改变本地变量
全局声明 和 非本地声明将赋值的变量名映射到文件内部的作用域

41、嵌套函数
def make(m):
    def a(n):
        return m ** n
    return a

>>>make(3)#输出的是<function make.<locals>.a at 0x02218B28>
>>>f = make(2)#让内嵌函数记住2
>>>f(3)#8
>>>f(4)#16
>>>g = make(3)#让内嵌函数记住3
>>>g(3)#27
>>>g(2)#9

42、嵌套函数和lambda
def fuclambda():
    x = 4
    action = (lambda n: x ** n)
    return action

x = fuclambda()
print(x(2))#16

43、作用域 和 带有循环变量的默认参数比较
def makeAction():
    act = []
    for i in range(5):
        act.append(lambda x: i ** x)
        return act
44、nonlocal语句:允许对嵌套的函数作用域中的名称赋值
并把这样的名称的作用域查找限制在嵌套的def中
def tester(start):
    state = start
    def  nested(label):
        print(label, state)
    return nested


1、三引号''''''怎样执行里面的脚本
2、map  zip  filter 三个迭代器怎样用
3、
原创粉丝点击