python语法内容
-
python语法基础
1.1 注释
1.2 标识符的命名规则
1.3 变量
1.4 选择结构
1.5 循环结构
1.5.1 列表生成式 -
python中的新数据类型
2.0 字符串
2.1 列表
2.2 元组
2.3 字典 -
python中函数
3.1 形参(无类型)
3.1.1 形参默认值
3.1.2 关键词传参
3.1.3 可长变长参数(实际是用元组来接收实参)
3.1.4 关键词的可长变长参数(实际是字典来接收关键词参数)
3.2 返回值(可以返回多个)
3.3 局部变量和全局变量
3.3.1 在python有两个字典
3.3.1.1 globals() : 获取到一个全局字典(保存着变量名,函数名, 和它们对应的值)
3.3.1.2 locals() : 保存局部的字典(保存局部的变量名)
3.3.1.3 global 能够在局部中定义一个全局变量,如果全局变量在使用global定义之前已经存在,则使用已经存在的全局变量, 如果不存在,则在全局的字典中添加一个. -
模块化编程
-
面向对象
5.1 成员变量
5.1.1 只能通过对象来添加
5.2 类变量
5.2.1 可以通过类名添加
5.3 类方法和静态方法
5.3.1 类似于c++静态成员函数
5.3.2 可以通过类名调用,也可以通过对象调用
5.4 实例方法
5.4.1 类似于c++的成员函数
5.4.2 只能通过对象调用
5.5 构造函数和析构函数
5.5.1 init ,不能重载,可以有参数,也可以有形参默认值
5.5.2 del
5.6 封装性
5.6.1 模块间的私有性, 使用单下划线
5.6.2 模块内的私有性, 使用双下划线
5.7 继承
5.7.1 单继承
5.7.1.1 如果子类没有定义构造函数,父类构造会被自动调用
5.7.1.2 如果子类定义了构造函数,父类构造不会自动调用,需要手动在子类中调用
5.7.2 在子类中调用父类函数
5.7.2.1 Python2.X以上版本可以使用: 父类类名.父类成员函数名(self,参数)
5.7.2.2 Python3.X以上版本可以使用: super(子类类名,self).成员函数名(参数)
5.7.2 多继承
5.7.2.1 菱形继承通过字典的特性(特性:存在同名的键时,值被覆盖)解决 -
异常
6.1 python通过类对象类传递异常
6.2 通过try except来捕获异常
6.2.1 捕获异常时,异常类型必须匹配
6.3 try finally
6.4 raise 主动抛出异常 -
特殊语法
7.1 filter
7.2 reduce
7.3 map
7.4 lambda 匿名函数
7.4.1 lambda由两部分组成: lambda 形参列表 : 函数返回值表达式
7.4.1.1 形参列表,有多个形参时,以逗号为分隔
7.4.2.2 函数返回值表达式(不能使用return 语句)
7.5 闭包
7.5.1 装饰器
Python
数据类型
- 整形,浮点,字符
- 单引号和双引号没有区别
- 三引号表示多行
输入输出
input, print , raw_input
与 C 不同的运算符
- 幂运算: **
- 整除运算: //
- 不等于: < > != ==
- 逻辑运算符: and, or, not
- 身份运算: is, is not
- 成员关系运算符: in, not in
选择结构
if-else, if-elif-else
循环结构
for, while
列表,元组,字典
列表: 元素可改变
-
L=list()
-
定义: lis = [1,2,3]
-
元素可改变
切片
-
lis[1:5:3]
-
lis[1:-1]
-
lis[::]
列表生成式
- Lis = [ x for x in range(5)]
- Lis = [ x* x for x in range(5) if x % 2 == 0]
[m + n for m in 'ABC' for n in '123']
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
L = []
for m in 'ABC':
for n in '123':
L.append(m + n)
扩展:https://blog.csdn.net/heartyhu/article/details/50988007
元组
定义: tup = (1,2,3) 元素不可改变 切片 同上
字典
定义: dic = {1:”abc”,3:”qqq”}
函数
定义: def 函数名(参数):
函数体
需要有返回值的话直接用 return XX def fun(x): return 7
一些特别的函数
map,reduce,filter 的使用
map,reduce,filter 的使用
def fun(x):
return x *2
map(fun,range(10))
def fun(x,y):
return x+y
reduce(fun,range(10))
def fun(x):
if 10 > x > 1:
return True
return False
list(filter(fun,range(20)))
匿名函数
print(list( map(lambda x: x * 2, range(5) ) ))
类
类属性可以被实例访问 实例属性只能通过实例来访问 class hello(object):
类属性
Hello_name = ‘小芳’
构造函数
def init(self,name,age):
实例属性
self.name = name
定义私有成员变量
self.__age = age def my_print(self): print(‘hello boy’) print(self._hello__age)
定义类对象
h = hello(‘小明’,22)
调用成员函数
h.my_print()
访问类属性
print(hello.Hello_name)
访问私有成员
print(h._hello__age)
网络编程
Tcp\ip 四层
应用层: Http, FTP… 传输层: TCP,UDP 网络层: IP,ICMP.. 链路层: PPP,arp
osi 七层
物 数 网 传 会 表 应