欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python 经验

程序员文章站 2023-12-21 15:45:10
...

1、 ASCII不能编码中文

2、可哈希的即不可变数据类型

3、变小写用casefold更牛逼。

print('ABC'.casefold())

>>> abc

4、swapcase 大小写转换

print('AbC'.swapcase())

>>>aBc

5、查找字符串时用find(),不用index()。find()方法找不到字符串时不会报错,会返回值为-1,index()方法会报错

print('csdn'.index('c'))
print('csdn'.find('s'))
print('csdn'.find('z'))
print('csdn'.index('q'))


>>> 0
>>> 1
>>> -1
>>> ValueError: substring not found

6、 range(起始,末尾,步长)

for i in range(0,10,2):  # 取不到10,左闭右开
    print(i)

>>>0,2,4,6,8

7、元组的一级元素不能被修改,二级非元组类型就能被修改

t1 = (1,[2,3],4,5)
t1[1][1] = 6
print(t1)

>>>(1,(2,6),4,5)

8、列表、元组、集合、字典的区别是什么?
列表:元素可变(任何数据类型),有序(可索引),append/insert/pop;
元组:元素不可变,但元素中的可变元素是可变的;有序(可索引);而且元组可以被散列,例如作为字典的键。
集合:无序(不可被索引)、互异
字典:无序,键值对(key:value),key唯一不可重复

9、expandtabs(x)  通过\t断开,然后每一块占据x位,不足补tab

print('avs\tdsx'.expandtabs(6))

>>>avs   dsx       # 中间3个空格,从头开始数,遇见\t,位数不足6位补空格

10、A.join(B)  把A加入到拆开的B中,当列表里都是字符时,拼接成字符串时用join()方法

print('+'.join('123'))
print('+'.join(['1','2','3']))

>>> 1+2+3
>>> 1+2+3

11、 strip() 先进行整个参数的匹配,然后将字符串拆开在进行匹配的

# 将参数拆成单个字符,然后去进行去除操作
print('csdnfsda'.strip('sac'))
# 自动去除换行
print('\ncsdn\n'.strip())
# 去除左边的字符串
print('akcsdn'.lstrip('ak'))
# 去除右边的字符串
print('csdnak'.rstrip('ak'))

>>>dnfsd
>>>csdn
>>>csdn
>>>csdn

12、 过程:没有返回值,函数有返回值。但是在python里没有过程,只有函数

13、生成式:适合处理小批量的数据,只有列表生成式,没有元组生成式

14、 replace(旧的字符串,新的字符串,替换前多少个)

print('qpzmsqpzgdh'.replace('qpz','csd'))
print('qpzmsqpzgdh'.replace('qpz','csd',2))

>>> csdmscsdgdh
>>> csdmscsdgdh 

15、判断是否为数字

# isdecimal()  十进制小数
print('12w'.isdecimal())
# isdigit()  更厉害
print('12'.isdigit())
# isnumberic()  汉字也可以判断
print('13五'.isnumeric())

>>> False
>>> True
>>> True

16、递归的尾调用优化:即在函数的最后一步调用函数

17、函数返回值:返回值数目>1  将返回的数据打包成元组

def test():
    a = 1
    b = 2
    c = 3
    return a,b,c

print(test())


>>>(1,2,3)

18、解压缩,python2里面不适用,python3适用

l = [1,2,3,4,6,5]
a,*b,c = l
print(a,*b,c)   # '*' 代表全部


>>> a=1,c=5,b=(2,3,4,6)   

19、位置参数(不明显指出的参数)一点要在关键字参数(明显指出的参数  y=2)的左边,也就是写在前面,否则会报错

20、nonlocal 是指上一级变量作为本级变量,locals 是指本级变量

def test():
    b = '123'
    def tests():
        nonlocal b
        print(b)
        print(locals())
    print(b)
    return tests()

print(test())

>>>'123'
>>>'123'
>>>{'b': '123'}
>>>none

global 是全局变量

def test():
    global b
    b = '123'
    def tests():
        print(b)
    print(b)
    return tests()


print(test())
print(b)


>>>'123'
>>>'123'
>>>none
>>>'123'

 

相关标签: strip range

上一篇:

下一篇: