字符串拼接的几种方法
加号
print('Python' + 'Plus')
逗号
print("Hello", "Python")
直接连接
print("Hello" "Python")
格式化
print('%s %s'%('Python', 'PLUS'))
join
str_list = ['Python', 'Plus']
a = ''
print(a.join(str_list))
多行字符串拼接()
sql = ('select *'
'from users'
'where id=666')
print(sql)
一般情况,大家比较喜欢用“+”拼接字符串,但是这个方法并不是高效的,
因为如果需要拼接的字符串有很多(n个)的情况下,
使用”+”的话,python解释器会申请n-1次内存空间,
然后进行拷贝,因为字符串在python中是不可变的,
所以当进行拼接的时候,会需要申请一个新的内存空间。
所以,正确答案是,使用.join(list),因为它只使用了一次内存空间
这个考点考了python的解压赋值的知识点,即 a,b,c,*middle,d,e,f = list, *middle = [1,2,3,4,5]。
注意,解压赋值提取出来的是列表
list = ['a','a','a',1,2,3,4,5,'A','B','C']
a,b,c,*middle,d,e,f = list
print(middle)
print(type(middle))
为了让用户在平常的编程和测试时保存复杂的数据类型,python提供了标准模块,称为pickle
。
这个模块可以将几乎任何的python对象(甚至是python的代码),转换为字符串表示,这个过程称为pickling
。
从存储的字符串中检索原始Python对象的过程称为unpickling
。
在python中,检查某些事物以确定它是什么、它知道什么以及它能做什么。
自省向程序员提供了极大的灵活性和控制力。
说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单一句就是,运行时能够获知对象的类型。
例如python, buby, object-C, c++都有自省的能力,这里面的c++的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。
Python中比较常见的自省(introspection)机制(函数用法)有: dir()
,type()
, hasattr()
, isinstance()
,通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。
其他可以参考博客:https://blog.csdn.net/qq_34979346/article/details/83218262
monkey patch (猴子补丁)
用来在运行时动态修改已有的代码,而不需要修改原始代码。
在Python中,术语monkey补丁仅指run-time上的类或模块的动态修改
>>> class A:
def func(self):
print("Hi")
>>> def monkey(self):
print("Hi, monkey")
>>> A.func = monkey
>>> a = A()
>>> a.func()
Hi, monkey
微信搜索htmlhttp
就能找到不一样的精彩