Python基础知识记要

Python基础知识记要

一.列表

注意点:
1.列表中的元素可以是不同的类型
2.列表中的元素可以是不同的列表
3.读取一个列表中的列表 list[3][1]
4.index 返回list.index的索引值
5.可以修改列表对象的元素
6.list.insert(index,Value) 插入 在某一个索引的位置
7.del list[index] 删除列表指定的索引值
8.列表包容 a=“PY” n=[1,2,3,4]
print([(x,y) for x in a for y in n])
9.列表的操作符号
+组合列表 *重复列表
10.列表函数len() /max()/min()
11.list() 将元组装换为列表
12.sum函数
13.print(dir[]) 显示所有的方法
14.extend() 将列表进行组合和 “+”作用类似
15.pop(index) 删除索引值及对应的索引
16.remove(Vale) 删除列表里的值

二.元组

1.元组只有一个元素,必须在元素之后加上
2.元组的对象不能修改
3.元组的对象可以被索引
4.+号组合元组
5.元素不可删除 del() 删除整个元组
6.通用函数 len() max() min() sum()
7.list()/tuple() 函数将列表与元组进行相互装换

三.字典

1.dic={‘name’:‘Jack’,‘Sex’:‘男’,‘ID’:1212}
2.通过键值返回数值
3.不允许同一个键值出现两次,同一个键被赋值两次,后一个被覆盖
4.字典中的元素是可以被修改的
5.print(dir({})) 显示所有字典的方法
6.get(K[d]) 有K dic.get(“name”)
7.Items() dict.items() 将字典转换为可输出的列表
8.keys() 返回所有键值并生成一个列表
9.valus() 返回所有数值并生成一个列表
10.Setdefault(k,d)新增一个字典元素,有就不增
11.popitem()删除字典中的 第一个元素
12.update({‘街道’:“星斗花园701室”}) 增加到字典中

四.转义字符

在这里插入图片描述

五. 字符串

1.captitalize 将字符第一个字大写,后面全小写
2.upper 将字符全大写
3.lower 将字符全小写
4.title 将字符所有单词的首字母都大写
5.swapcase 将字符串所有单词 小变大 ,大变小
6.Isalnum() 字母和数字组成的字符串
7.Isapha() 字母和汉字组成的字符串
8.isdigit() 只有数字组成的字符串
9.count() 计算字符串的长度
10.find() 寻找字母的索引值
11.index() 与find()函数一致,没有找到就报错
12.join() 单个元素累加
13.replace() print str.replace(old, new, 3); 这里的3表示替换不超过3次
14 max()、min() 返回对应的ASII码

编码风格介绍:
类名:驼峰式 和首字母缩略词:HTTPWriter 优于 HttpWriter。
变量名:lower_with_underscores。
方法名和函数名:lower_with_underscores。
模块名:lower_with_underscores.py。(但是不带下划线的名字更好!)
常量名:UPPER_WITH_UNDERSCORES。
预编译的正则表达式:name_re。
详细介绍见:https://www.cnblogs.com/zhizhan/p/5546539.html

字符串格式化
在这里插入图片描述

六.运算符

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
列子:
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0

c = a & b; # 12 = 0000 1100
print “1 - c 的值为:”, c

c = a | b; # 61 = 0011 1101
print “2 - c 的值为:”, c

c = a ^ b; # 49 = 0011 0001
print “3 - c 的值为:”, c

c = ~a; # -61 = 1100 0011
print “4 - c 的值为:”, c

c = a << 2; # 240 = 1111 0000
print “5 - c 的值为:”, c

c = a >> 2; # 15 = 0000 1111

在这里插入图片描述
在这里插入图片描述

七.条件判断

  1. if …else…
  2. if …elif…elif…
  3. 三元表达式

八.循环

1.while
2.for
3.break 跳出循环
4.continue 跳出单次循环
5.pass 空语句

九.函数

1.参数的传递:

1)必需参数
2)关键字参数
3)默认参数 :调用函数时,默认参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:
4)不定长参数 :你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名
列如:
****def test(*args):#*args:元组中的元素,args:存放数据的元组的变量名
print(*args)
def fun(args):#args:字典中的元素(只有key),args:存放数据的字典的变量名
print(args)
fun(username=“张三”,age=18)#{‘username’: ‘张三’, ‘age’: 18}

5).如果要在函数中改变全局变量的值,就必需使用关键字global进行声明

2.lambda表达式

在这里插入图片描述

3.闭包思想

def sayHI():
print(“你好”)
def SayHIs(sayHI):
sayHI()
print(“再一次打招呼”)

闭包思想的延伸装饰器
#装饰器的使用
import logging
1.初始需求 将函数当做参数传值给函数 形成闭包
def Use_log(fuc):
logging.warn("%s is runing"%fuc.name)
fuc()
def bar():
print(‘i am a bar’)
Use_log(bar)

#2.装饰器的延伸思想
def Use_log(fuc):
def warper(*args,**kwargs):
logging.warn("%s is runing"%fuc.name)
return fuc(*args,**kwargs)
return warper

def bar1():
print(‘i am a bar11’)

bar=Use_log(bar1)
bar()

#3.装饰器的进化版本
def Use_log(fuc):
def warper(*args,**kwargs):
logging.warn("%s is runing"%fuc.name)
return fuc(*args,**kwargs)
return warper

@Use_log
def bar1():
print(‘i am a bar222’)
bar1()

4.带参数的装饰器用法

def Use_log(leven):
def decorator(func):
def wapper(*args,**kwargs):
if leven==“Main”:
logging.warn("%s is runing"%func.name)
return func(*args,**kwargs)
return wapper
return decorator
@Use_log(leven=‘Main’)
def bar1():
print(‘i am a bar11’)
bar1()

#5.类装饰器的用法 类装饰器具有灵活度大、高内聚、封装性等优点
class FOO(object):
def init(self,func):
self.func=func
def call(self, *args, **kwargs):
print(“记录前位置”)
self.func()
print(‘调用后位置’)
@FOO
def bar1():
print(‘i am a bar11’)
bar1()

#functools wraps 能把原函数的元信息拷贝到装饰器函数中,这使得装饰器函数也有和原函数一样的元信息了
from functools import wraps
def logged(func):
@wraps(func)
def with_logging(*args,**kwargs):
print("{} was called".format(func.name))
return func(args,**kwargs)
return with_logging
@logged
def f(X):
return X + X
X

5.高阶函数

1.lambda
2.reduce 二元操作函数 from functools in reduce
3.map 两个参数 一个是函数 一个是 数列
4.filter 将序列做过滤处理 一个是函数 一个是数列
#高阶函数
def add(x,y,f):
return f(x)+f(y)
print(add(-5,6,abs))
#匿名函数 lambda表达式 lambda[arg1]
sum=lambda x,y:x+y
print(sum(10,20))
def MAX(a,g):
max=a[0]
for i in range(len(a)):
if g:
max=a[i]
return max
a=[1,2,3,6,6,43,20,99]
print(MAX(a,lambda x,y:x>y))
#reduce是一个二元操作函数
from functools import reduce
l=[1,2,3,4,5]
l1=[7,8,9]
print(reduce(lambda x,y:x+y,l))
print(reduce(lambda x,y:x+y,l,20))
#map函数 接受2个参数,一个是函数一个是序列,map将传入的函数依次作用到序列的每个元素,并将结果作为新的 list返回 格式:map(func,seq1[,sq2…])
print(list(map(lambda x:x+1,l)))
try:
print(list(map(lambda x,y:x+y,l,l1))) #将两个数组进行组合
except:
print(“there is a error”)

#filter函数将序列做过滤处理
print(list(filter(lambda x:x>3,l))) #熟练的 使用 reduce map filter
5.装饰器
6.描述器 (理解太费脑子了) 控制类的 行为

#Python 函数式编程
1.三大特性 : 不可变数据 函数像变量一样使用 尾递归优化:每次递归都重用stac
2.模式优势:并发,惰性求值,确定性
3.函数式编程技术: lambda map filter reduce pipeline recursing递归 currying higher order function 高阶函数
4.函数式编程逻辑:这样的代码是在描述要干什么,而不是怎么干

6.Python 数据类型

  1. int(x[,base]) 将X转换为一个整数
  2. long(x[,base]) 将X转换为一个长整数
  3. float(x) 将X转换为一个浮点数
  4. complex(real[,imag]) 创建一个复数
  5. str(x)将X转换为字符串
  6. repr(x)将对象X转换为表达式字符串
  7. eval(str)用来计算在字符串中的有效Python表达式并返回一个对象
  8. tuple(s) 将序列S转换为一个元组
  9. list(s) 将序列转换为一个列表
  10. set(s)转换为可变的集合
  11. dict(d) 创建一个字典
  12. frozenset(s) 转换为一个不可变集合
  13. chr(x) 将一个整数转换为一个字符 返回对应字符的ascii码
  14. unichr(x)将一个整数转换为Unicode字符
  15. ord(x)将一个字符转换为他的整数值 返回对应字符的ascii码
  16. hex(x) 将一个整数转换为一个十六进制的字符串
  17. oct(x)将一个整数转换为一个八进制的字符串

十.类

1.封装
2.继承
3.多态
关于面向对象的介绍
对象是类的实例化
对象特征:静态特征/动态特征
静态特征:对象的外观、性质、属性等
动态特征:功能、行为

十一.程序调试

1.关于assert函数的介绍
assert函数介绍
程序调试

十二.文件读取与写入

文件写入及读取

十三.存储数据

Json数据

十四.内置异常

1.sys 模块SYS模块

十五.处理异常

异常处理

十六.模块/库

Python模块汇总(常用第三方库)

十七.正则表达式

正则表达式

十八.随机数

随机数

十九.迭代器

迭代器与生成器

猜你喜欢

转载自blog.csdn.net/Zerogl1996/article/details/113874351
今日推荐