Python基础学习过程中的备忘笔录

占位符

%d:		表示整数【int%nf:	表示小数【float,保留一个小数小数点n位,同时也会进行四舍五入的操作
%s:	所有类型

print高级用法

print(value1,value2......sep=' ',end='\n',file=sys.stdout,flush=False)

变量之间的类型转换

chr(xx)	character,xx是一个整数,将xx转换为ASCII码表中对应的字符
ord(xx)	ordinary,xx是一个字符,将xx转换为ASCII码表中对应的数字

bin(xx)	将xx转换为二进制
oct(xx)	将xx转换为八进制
hex(xx)	将xx转换为十六进制
int(xx,base=10)如果xx是数字型的字符串,则以十进制的方式输出, bese表示进制可以通过修改base将其他进制转换成十进制,默认为10

三目运算符

a.逻辑运算符实现
语法:bool and 数据1 or 数据2 如果bool为真,整个表达式的结果为数据1
b:if-else
语法:数据1 if bool else 数据2 如果bool为假,整个表达式的值为数据2

break和continue、pass关键字

break:		直接结束循环,跳出的是当前循环【就近原则】
continue:	结束当前正在进行的循环,继续下一次循环
pass:		语句一般不做任何事情,用作占位语句

列表功能

  • 方法
list.append(元素)		追加,在列表的末尾追加元素
list.extend(迭代元素)	扩展,在列表的末尾追加元素
list.insert(索引,元素)  插入,在指定的位置插入一个元素,后面的其他元素向后顺延

list.pop(索引)			移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(元素)		移除列表中某个值的第一个匹配项
list.clear()			清除,清空列表

list.reverse()			反转,将一个列表中的元素倒序输出【反转】
list.sort(key=自定义		reverse=True/False),排序,在原列表的内部直接排序

list.copy()						列表拷贝
newlist=copy.copy(列表)  		浅拷贝,需要导入copy
newlist=copy.deepcopy(列表)		深拷贝,需要import  copy
list.index(元素)				在列表中查询指定元素的下标,可能多个下标
  • sort 和 sorted
1.内置函数sort()------只是应用在 list 上的方法,(就地排序无返回值)
用法:
list.sort(cmp=None, key=None, reverse=False)
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。


2.内置函数sorted()-----内建函数,可对所有可迭代的对象进行排序操作,返回新list
用法:
sorted(iterable, key=None, reverse=False) 
iterable -- 可迭代对象。
这个和第一种的差别之处在于:
1sorted()不会改变原来的list,而是会返回一个新的已经排序好的list
2list.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象
  • 函数
a = len(list),返回列表长度(个数)
b = max(list),返回列表元素最大值
c = min(list),返回列表元素最小值
newlist = list(元组/字符串),将元组或字符串转换为列表

元组的功能

a = len(tuple),返回元组长度(个数)
b = max(tuple),返回元组中元素最大值
c = min(tuple),返回元组中元素最小值
d = tuple.index(元素),返回元组中元素的下标
e = tuple.count(元素),返回此元素在元组中出现的次数
newtuple = tuple(列表),将列表转换为元组

字典的功能

dict()					见字典的创建
a = 字典名[key]			获取指定key的value
b = len(字典名)		获取键值对的个数
字典名[key] = 新value	如果key存在,则表示修改,如果key不存在,则表示添加键值对
字典名.get(key,default)	如果key存在,返回对应的value,如果key不存在,则返回None

字典名1.update(字典名2)	更新,合并字典1和字典2到 字典1中

字典名.pop()				通过指定的key删除对应键值对
字典名.clear()			清除,清空字典
	
字典名.items()			获取字典中的key-value对,返回dict_items
字典名.keys()			获取字典中所有的key,返回dict_keys
字典名.values()			获取字典中所有的value,返回dict_value
注意:以上三种建议使用list()转换为列表

字典名.setdefault(key,default),根据key获取对应的value,类似于get(key,default)
#如果key不存在,则给不存在的key设置默认值,同时将该键值对添加到字典中

字典名.fromkeys((seq),(val))#创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

集合的功能

集合名 = set(容器)		用set可以将列表,元组,字符串,字典创建到新集合中
集合名.add()				增加,添加容器的时候整体加入,只能添加不可变类型的元素
集合名.update()			更新,打碎加入,只能添加可迭代对象

集合名.pop()				弹出,随机删除任意位置的元素【内存中存储之后的最后一个元素】
集合名.remove()			移除,删除指定的元素
集合名.discard()			忽略,删除指定的元素,但是discard不会报错

集合名.clear()			清除,清空集合
集合名.copy()			复制
a = len(集合名)			求集合中元素个数
b = max(集合名)			求集合中最大值
c = min(集合名)			求集合中最小值

集合名1.union(集合名2)				结合,联合,求并集,等价于--->集合名1 | 集合名2
集合名1.intersection(集合名2)		交集,等价于 &   --->集合名1 & 集合名2
集合名1.difference(集合名2)			差异,求差集,等价于 --->集合名1 - 集合名2

字符串功能

str.strip()							提取,去除一个字符串两端的指定字符
str.lstrip()						left,去除一个字符串左边的指定字符
str.rstrip()						right,去除一个字符串右边的指定字符
默认情况下,上述三个功能都是去除指定字符串两端的空格,也可以指定需要去除的字符

判断
str.startswith(判断内容)				判断前缀,根据判断内容,返回Ture或False
str.endswith(判断内容)				判断后缀,根据判断内容,返回Ture或False

字符串.isalpha()						字符串非空并字符全部是字母才返回True  
字符串.isdigit()						字符串非空并字符全部是数字才返回True     
字符串.isdecimal()					字符串非空并字符全部是数字才返回True
字符串.isalnum()						字符串非空并字符全部是字母或者数字才返回True
		
一般替换:
str.replace(old,new,count)			将原字符串中的old替换为new,替换所有的字符。count默认省略,如果指明count,则只会替换指定的个数
映射替换:
str.maketrans(字符串1,字符串2)		创建一个映射表
str.translate(映射表)				根据映射表中指定字符串中的字符替换为映射表中的对应的字符

分割
str.split(char,maxsplit)			使用指定的字符串char分割原字符串,默认全部分割,但是也可以指定maxsplit,表示指定分割的次数
        
str.splitlines()					根据换行符或者回车符分割
"指定字符串".join(列表)				将指定列表中的所有元素用指定字符串连接起来

转换
str.lower()							大写--》小写
str.upper()							小写----》大写
str.swapcase()						大写--》小写  小写----》大写
str.title()							每个单词的首字母大写,其他全部小写
str.capitalize()					首单词的首字母大写,其他全部小写

查找
find()								从左往右查找,返回指定字符串在原字符串中第一次出现的下标,查找不到则返回-1
rfind()								从右往左查找,返回指定字符串在原字符串中第一次出现的下标,查找不到则返回-1
index()								从左往右查找,返回指定字符串在原字符串中第一次出现的下标,查找不到则报错
rindex()							从右往左查找,返回指定字符串在原字符串中第一次出现的下标,查找不到则报错

填充
str.center(宽度,填充内容)			原字符串居中显示,不指明填充字符,则默认空格填充
str.ljust(wide,fillchar)			原字符串居左显示,填充内容只能有一个
str.rjust(wide,fillchar)			原字符串居右显示
str.zfill(wide)						原字符串居右显示,默认用0填充

str.len()							获取字符串长度
str.count("a")						统计字符串中"a"出现的次数
str.max()							获取字符串中最大值
str.min()							获取字符串中最小值
str.copy()							复制一个字符串
eval(字符串表达式)					将字符串转换为有效的表达式,只能识别数学运算表达式

format()							格式化字符串
expandtabs()						借助于制表符将数据扩展到一定的长度,目的是为了对齐

数学类型功能

abs()            		求绝对值-----abs(-18)
sum(容器,num)			求和,如果num存在,则求列表中元素和,然后再加上num
max()min()			求最大值,最小值
pow(x, y[, z])			求次方,等效于 pow(x,y)%z  z不存在时,x,y可以不限制float,若z存在,x,y需要都是整数                
round(number,nidigit)	对number进行四舍五入,可以指明nidigit保留几位数,默认不保留

冒泡排序

for i in range(len(list1)-1):
    for j in range(len(list1)-1-i):
        if list1[j] > if list1[j+1]
        list1[j],list1[j+1] = list1[j+1],list1[j]

选择排序

for i in range(len(list1)-1):
    for j in range(i,len(list1)):
        if list1[i] > list1[j]
        list1[i],list1[j] = list[j],list[i]

二分法查找

list1 = [345,4,29,534,29,100,45,188,29,5]
list1.sort()        #前提:列表是排好序的
key,left,right = 5,0,len(list1)-1

while left <= right:
    # 计算中间的下标
    middle = (left + right) // 2

    if key > list1[middle]:
        # 重置left的值
        left = middle + 1
    elif key < list1[middle]:
        # 重置right的值
        right = middle - 1
    else:
        #找到了
        print("待查找元素%s的下标为:%d" % (key,middle))
        #当在查找的过程中,获取到了结果,则可以提前结束循环
        break
else:
    print("%s在列表中不存在" % (key)) 

编解码

编码;将字符串类型转化为字节类型:str---->bytes
解码:将字节类型转化为字符串类型:bytes----->str
注意:编解码的格式必须保持一致,否则乱码 常见的格式:gbk 和 utf-8

# a。编码
# 方式一:bytes()
str1 = "测试hello12434%%%%"
b11 = bytes(str1,encoding="utf-8")
b12 = bytes(str1,encoding="gbk")
print(b11,type(b11))
print(b12,type(b12))

# 方式二:encode()
str1 = "测试hello12434%%%%"
b21 = str1.encode(encoding="utf-8")
b22 = str1.encode(encoding="gbk")
print(b21,type(b21))
print(b22,type(b22))

# b。解码
# 方式一:str()
r1 = str(b11,encoding="utf-8")
print(r1,type(r1))

# 方式二:decode(),并不是字符串的功能,是字节类型的功能
r2 = b22.decode(encoding="gbk")
print(r2,type(r2))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值