python基础

1、数据类型

1.1基本数据类型

字符串。

查询类:字符计数count、字符索引  .index、替换replace、

大小写转换:lower等

判断类:判断数字.isdecimal(),.isdigit(),isnumeric()范围变大,最大的接受汉字数字。isalpha()字母,isalnum()字母+数字。判断开头.startswith(('a','b'),0,4)。isprintable()打印字符

处理类:.strip(__chars='.com')去指定字符,默认是空格,也可只去除前或后面。.split()分割。.join(['1','2','3'])拼接123。格式化字符串'{}awd{}'.format(a,b)

数值。

布尔。

1.2复合数据类型

列表。查:切片list[2:10:-1]查索引.index(value)  增:加元素.append() .insert(5,'x')指定位置  删除元素  .remove('x')  .pop(index)  排序list.sort(key=len)  合并list.extend([])

元组。.index()  .count()  多重赋值tuple,*arg = (1,2,3,4)

字典。查值和键.values() .keys() .items()转元组  .get(key)不报错查值  仅增key赋值 .setdefault(key,value)  .update(dict2)同列表extend  创建 工厂函数+关键字参数/元组对  删 .pop(key) 

集合。集合运算:&|^交并补集  -差集  <>父子集 增删改查:set.add()  .remove(value)  .update(set)同列表extend

2、控制语句

if  elif  else

for\while循环

try  except  else 无错误时 finally

3、运算

数值运算+-*/  % ** //

判断运算==,!=  赋值=,+=等

逻辑运算and or not in/   not in/   is   /is not  /and  /all

三元运算a if ... else b

4、内置函数

重要:

.divmod(5,2)返回商和余数  filter(func,iterable)把可迭代对象进行func判断,为真的留下  map(func,iterable[,iterable])按func需要的参数数量,依次把可迭代对象的元素传入,返回可迭代对象  pow(a,b[,z])a**b[%z]  sorted(iterable,key=func)以func对每个元素的计算结果为key排序  zip(iterable,iterable)两个可迭代对象压成元组为元素的可迭代对象  sum([],start=100)求和,额外+100

assert断言

不重要:

chr() ord()数字与编码结果转换  frozenset(set)冻结集合  id()返回内存地址    hash() hex()等,生成散列值(当前窗口下相同对象的值相同)、十六进制  ascii()转字符串,换行符等也变字符串

 5、面向对象

基本创建方法,super调用父类。

class Cat(super_class):
    def __init__(self,attr1,attr2):
        self.attr1 =  attr1
        self.__attr2 = attr2  私有属性
        super(cat,self).__init__(super_class构造函数里的参数)
   

高级用法

 1 @staticmethod
 2 def fun1():
 3     静态方法,无法访问类的其他属性
 4 @classmethod
 5 def fun2(cls):
 6     类方法,只能访问cls的变量,不能访问实例变量(__init__中的变量)
 7 @property
 8 def fun3(self):
 9     属性方法,把方法改成属性
10 @attribe_func.setter
11 def fun4(self,age):
12     属性方法的配套修改方法
13 @attribe_func.deleter
14 def fun5(self):
15     属性方法的配套删除方法

偏门但是很帅的用法,给实例加上字典的功能

 1 class dict1(object):
 2     def __init__(self):
 3         self.dictionary = {}
 4     def __setitem__(self,key,value):
 5         self.dictionary[key] = value
 6     def __getitem__(self,key):
 7         return self.dictionary[key]
 8     def __delitem__(self, key):
 9         del self.dictionary[key]
10 m = dict1()
11 m['key'] = 890
12 print(m.dictionary)
13 print(m['key'])
14 del m['key']
15 print(m.dictionary)

 传说中的多态,对类某个方法的重新封装,所有有talk()方法的类都可以调这个接口执行talk

def talk(obj):
    obj.talk()

判断是否a的子类issubclass(b,a)  判断是否实例isinstance(b,a)  

神奇的反射:检查对象有没有a属性hasattr(obj,‘a’)  获取对象的a属性(如为方法则获取内存地址)getattr(obj,'a'[,default])   给对象加属性或方法setattr(obj,'a',22/func) 删对象的属性delattr(obj,'a')

可以更改自带的魔法方法,根据需求在调用该方法时实现一些私货功能。

 

posted @ 2022-02-10 19:50  小学生2021  阅读(10)  评论(0)    收藏  举报