首页 > 编程语言 >python 总结

python 总结

时间:2024-09-08 23:24:56浏览次数:12  
标签:总结 __ name python 元素 list 列表 print

数据

变量指向

a="hello python"
b=a
a=123

#a与b指向同一内存空间

字符串

name="alex \tname is alex"

name.capitalize() # 首字母大写
name.count("a") # 统计字母个数
name.center(50,"-") #总共打印50个字符,并把nam放在中间,不够的用-补上
name.endswith("ex") # 判断字符串以什么结尾
name.expandtabs(tabsize=30) # 将name中\t转为30个空格
name.find("x") # 取索引

'ab123'.isalnum() #是否包含字母及数字以外的字符,是返回false
'ab123'.isalpha() # 包含纯英文字符
'1A'.isdecimal() # 是否是十进制 
'1A'.isdigit() # 是否是整数
'_'.isidentifier() #判断是否是合法的标识符,
'aasd'.islower() # 判断是否是小写
''.isspace() # 是否是空格
'My name is'.istitle() # 字符串的字母是否大写
'+'.join(['1','2','3']) #1+2+3
name.ljust(50,'*') # 左对齐字符串,多余位用*补全
name.rjust(50,'-') # 右对齐字符串,多余位用*-补全
'\n Alex'.lstrip() # 去掉左边的空格/回车
'\nAlex\n'.rstrip() # 去掉右边的空格/回车
'\nAlex\n'.strip() # 去掉左边和右边的空格/回车
"alex li".rfind('l') # 找到的最右边的下标返回
"alex li".split('l') #['a', 'ex ', 'i']
"1+2+3+4".split('+') # ['1', '2', '3', '4']
"1+2\n+3+4".splitlines() # ['1+2', '+3+4']
"Alex Li".swapcase() # aLEX lI
'lex li'.title() # Lex Li
'lex li'.zfill(50) #50个字符,不够以0填充

#填补
name="my \tname is {name} and i am {year} old"
name.format(name="alex",year=23)
name.format_map({'name':'alex','year':23})

#替换
p=str.maketrans("abcdef","123456")
print("alex li".translate(p))  #把alex li换成上一行对应的值 1l5x li
"alex li".replace('l','L',1) # 替换 1表示替换几个l,从左到右计算替换个数 aLex li

列表

创建

name = ['一点水', '两点水', '三点水', '四点水', '五点水']

print(name[2])# 通过索引来访问列表

print(name[0:2])# 通过方括号的形式来截取列表中的数据

注意:编程中,都是从 0 开始的,而不是从 1 开始。[0:2]是**左闭右开**区间


name[1]='2点水' # 通过索引对列表的数据项进行修改或更新

name.append('六点水') # 使用 append() 方法来添加列表项

del name[3] # 使用 del 语句来删除列表的的元素

运算

Python 表达式结果描述
len([1, 2, 3])3计算元素个数
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]复制
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print x,1 2 3迭代

方法

函数&方法描述
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)元组转换为列表
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)对象插入列表
list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中的一个元素(参数是列表中元素),并且不返回任何值
list.reverse()反向列表中元素
list.sort([func])对原列表进行排序
replace(“快乐”, “happy”)数据替换
names.copy()浅拷贝

元组

创建

tuple1=('两点水','twowter','liangdianshui',123,456)
tuple2='两点水','twowter','liangdianshui',123,456

tuple3=() #创建空元组

tuple4=(123,) #创建只包含一个元素的元组。()既可以表示元组(tuple),又可以表示数学公式中的小括号。
tuple4=(123) #创建一个整数

print(tuple2[0])  #使用下标索引来访问元组中的值

del tuple1  #使用 del 语句来删除整个元组

运算

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
(‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print(x)1 2 3迭代
方法
方法描述
len(tuple)计算元组元素个数
max(tuple)返回元组中元素最大值
min(tuple)返回元组中元素最小值
tuple(seq)将列表转换为元组
count(“tuple”)统计个数
index(“tuple”)返回位置

字典

#创建
dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'两点水':'333333'}
dict2={'abc':1234,1234:'abc'} #创建
dict() # 创建空字典 {} 
dict(a='a', b='b', t='t') # 传入关键字 
{'a': 'a', 'b': 'b', 't': 't'} 

dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典 {'three': 3, 'two': 2, 'one': 1} 

dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典 {'three': 3, 'two': 2, 'one': 1} 

dict['abc'] #通过键值访问

#修改
dict1['jack']='444444' # 新增一个键和值
dict1['liangdianshui']='555555' # 修改键对应的值

#删除
del dict1['twowater']  # 通过 key 值,删除对应的键和值
dict1.clear()  # 删除字典中的所有元素
del dict1  # 删除字典
k.pop('like') #删除键和值

#键值
k.keys()
k.values()

info.items() #把一个字典转成列表
info.fromkeys([6,7,8],"test"#{6: 'test', 7: 'test', 8: 'test'}

方法

方法和函数描述
len(dict)计算字典元素个数
str(dict)输出字典可打印的字符串表示
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.values()以列表返回字典中的所有值
popitem()随机返回并删除字典中的一对键和值
dict.items()列表返回可遍历的(键, 值) 元组数组

集合

set1=set([123,456,789])

set1.add(100) #集合set1添加100
set1.remove(456) #删除元素46
set1.update([10,37,42]) # 添加多项
set1.discard('x')# 删除一个指定的值

set4=set1 | set2  # 并集 (合并两个 set 集合的元素并去除重复的值)
set3=set1 & set2  # 交集 (求两个 set 集合中相同的元素)
set5=set1 - set2  # 差集    把list_1与list_2互相都没有的元素放在一块,其实就是去掉重复元素
new = set(a)#去除重复元素

控制语句

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

for iterating_var in sequence:  #迭代输出
   statements(s)

while 判断条件:  #迭代输出
   执行语句__



result = 值1 if 条件 else 值2 #三元运算,满足if返回值1,否则值2

列表生成 三种形式

  • [<表达式> for (条件变量) in (集合)]
  • [<表达式> for (条件变量) in (集合) if <'True or False'表达式>]
  • [<表达式> if <'True or False'表达式> else <表达式> for (条件变量) in (集合) ]
fruits = ['"Apple', 'Watermelon', '"Banana"']
[x.strip('"') for x in fruits] #甩出x,占一个位置
[x  for x in range(21) if x%2] #x满足if,甩出x,然后站一个位置
[m + n for m in 'ABC' for n in 'XYZ'] # m的for循环,嵌套n的for循环,甩出的nm站一个位置

d = {'x': 'A', 'y': 'B', 'z': 'C' }
[k + '=' + v for k, v in d.items()] 
循环控制语句描述
break在语句块执行过程中终止循环,并且跳出整个循环
continue在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
passpass 是空语句,是为了保持程序结构的完整性

函数

def 函数名(参数1,参数2....参数n):
    函数体
    return 语句

#高阶函数
#把另一个函数作为参数传入一个函数,这样的函数称为高阶函数

常用函数


input("输入")

print("输出")
	info="Name":+name
	info="Job:%s"%(job)
	info="Job:{_job}".format(_job=job)
	info="Job:{2}".format(job)

getpass.getpass("请输入密码:") #import getpass

#sys
#打印环境变量
sys.path
sys.argv
#进度条
import time
for i in range(50):
    sys.stdout.write('#')
    sys.stdout.flush()
    time.sleep(0.5)
    
#os
os.mkdir("new_dir3") # 创建一个目录
os.removedirs("new_dir3") # 删除一个目录
os.popen("dir").read() #目录

#文件
f=open('test','a',encoding='utf-8') # 文件句柄 'a'为追加文件,'w'重写,'r'读
f.write("\n阿斯达")
f.close()
f.readline().strip()  #读一行,strip()去掉空格和回车
f.readlines() #读所有行
for index, line in enumerate(f.readlines()): #enumerate添加行号
f.tell()#读取的指针当前位置
f.seek(0) #移动到读取的指针到开头
with open('ly.txt', 'r', encoding='utf-8') as f:# with语句---为了避免打开文件后忘记关闭,可以通过管理上下文

匿名函数

# -*- coding: UTF-8 -*-

num2 = 100
sum1 = lambda num1 : num1 + num2 ;  #num1 传入参数,num1 + num2返回值

num2 = 10000
sum2 = lambda num1 : num1 + num2 ;

print( sum1( 1 ) )
print( sum2( 1 ) )

#结果
10001
10001

迭代


# -*- coding: UTF-8 -*-

# 1、for 循环迭代字符串
for char in 'liangdianshui' :
    print ( char , end = ' ' )#l i a n g d i a n s h u i 

# 2、for 循环迭代 list
list1 = [1,2,3,4,5]
for num1 in list1 :
    print ( num1 , end = ' ' )  #1 2 3 4 5 

# 3、for 循环也可以迭代 dict (字典)
dict1 = {'name':'两点水','age':'23','sex':'男'}

for key in dict1 :    # 迭代 dict 中的 key
    print ( key , end = ' ' )  #name age sex 

for value in dict1.values() :   # 迭代 dict 中的 value
	print ( value , end = ' ' )  #两点水 23 男 

# 如果 list 里面一个元素有两个变量,也是很容易迭代的
for x , y in [ (1,'a') , (2,'b') , (3,'c') ] :
	print ( x , y )
	
#1 a
#2 b
#3 c


#zip
names = ['laingdianshui', 'twowater', '两点水']
ages = [18, 19, 20]

for name, age in zip(names, ages):
     print(name,age)

#字典
names = ['laingdianshui', 'twowater', '两点水']
ages = [18, 19, 20]

dict1= dict(zip(names,ages))

print(dict1)

迭代器

# 1、字符创创建迭代器对象
str1 = 'liangdianshui'
iter1 = iter ( str1 )

# 2、list对象创建迭代器
list1 = [1,2,3,4]
iter2 = iter ( list1 )

# 3、tuple(元祖) 对象创建迭代器
tuple1 = ( 1,2,3,4 )
iter3 = iter ( tuple1 )

# for 循环遍历迭代器对象
for x in iter1 :
    print ( x , end = ' ' ) #l i a n g d i a n s h u i 

# next() 函数遍历迭代器
while True :
    try :
        print ( next ( iter3 ) )  # 1 2 3 4
    except StopIteration :
        break

生成器

# -*- coding: UTF-8 -*-
gen= (x * x for x in range(10))

for num  in  gen :
	print(num)

class ClassA(): #创建
	var='abc'
	@classmethod 声明该方法是类方法。只有声明了是类方法,才能使用类属性
	def fun():
		cls.var=inpt('请输入值:')# 内部修改值。cls把这个类作为参数,传给自己,
		
ClassA.fun()
ClassA.var=input('请输入值:') #外部修改值

a= ClassA()  #实例化
a.fun1()     #类的访问

继承

class ClassName(Base1,Base2,Base3):
    <statement-1>
    .
    .
    .
    <statement-N>

访问控制

class UserInfo(object):
    def __init__(self, name, age, account):
        self.name = name  #公开属性,类内类外都可以访问
        
        self._age = age   #私有属性,类内能访问,类外不可以访问
        
        self.__account = account  #不算私有属性,该属性在创建的时候是不可以访问

    def get_account(self):
        return self.__account

方法

方法说明
__init__构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__ 按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__乘方

线程

正则表达式


import re

# 设定一个常量
a = '两点水|twowater|liangdianshui|草根程序员|ReadingWithU'# 选择 a 里面的所有小写英文字母
re_findall = re.findall('[a-z]', a)#获取字符串a中的所有小写字母了。


a = 'uav,ubv,ucv,uwv,uzv,ucv,uov' # 字符集
findall = re.findall('u[abc]v', a)# 取 u 和 v 中间是 a 或 b 或 c 的字符
re.findall('u[a-c]v', a) # 如果是连续的字母,数字可以使用 - 来代替
re.findall('u[^abc]v', a)# 取 u 和 v 中间不是 a 或 b 或 c 的字符

a = 'uav_ubv_ucv_uwv_uzv_ucv_uov&123-456-789'# 概括字符集
# \d 相当于 [0-9] ,匹配所有数字字符
# \D 相当于 [^0-9] , 匹配所有非数字字符
# \w 匹配包括下划线的任何单词字符,等价于 [A-Za-z0-9_]
findall1 = re.findall('\d', a)
findall3 = re.findall('\D', a)
findall5 = re.findall('\w', a)

a = 'Python*Android*Java-888'
sub1 = re.sub('\*', '&', a) # 把字符串中的 * 字符替换成 & 字符
sub2 = re.sub('\*', '&', a, 1)# 把字符串中的第一个 * 字符替换成 & 字符
sub3 = re.sub('[\*-]', convert, a)# 第二个参数,要替换的字符可以为一个函数

re.search(pattern, string, flags=0)#扫描整个字符串并返回第一个成功的匹配。
re.match(pattern, string, flags=0)#字符串的起始位置匹配一个模式

标签:总结,__,name,python,元素,list,列表,print
From: https://blog.csdn.net/2401_86988060/article/details/141968335

相关文章

  • ceph:麒麟kylin v10 sp3:安装ceph-nautilus for el8:这个版本依赖于python3.6,看看怎么欺
    [root@kylintemplate~]#catceph-nautilus-el8_depends-for-kylin.specSummary:ceph-nautilus-el8_depends-for-kylinvirtualName:ceph-nautilus-el8_depends-for-kylinVersion:1.0Release:0License:GPLGroup:Development/ToolsAutoReqProv:yesAutoReq:ye......
  • 【算法笔记】树形DP算法总结&详解
    0.定义树形DP,又称树状DP,即在树上进行的DP,是DP(动态规划)算法中较为复杂的一种。1.基础令\(f[u]=~\)与树上顶点\(u\)有关的某些数据,并按照拓扑序(从叶子节点向上到根节点的顺序)进行\(\text{DP}\),确保在更新一个顶点时其子节点的dp值已经被更新好,以更新当前节点的\(\text{DP}\)值......
  • 最小二乘回归算法原理及Python实践
    最小二乘回归算法原理主要基于最小化误差平方和的思想,以找到数据的最佳函数匹配。以下是对其原理的详细阐述:一、基本原理最小二乘法(LeastSquaresMethod,简称LS)是一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳函数匹配。在回归分析中,最小二乘法被广泛应用于......
  • 偏最小二乘回归算法原理及Python实践
    偏最小二乘回归(PartialLeastSquaresRegression,PLS回归)是一种统计学和机器学习中的多元数据分析方法,特别适用于处理因变量和自变量之间存在多重共线性问题的情况。其原理主要可以归纳为以下几点:一.原理概述PLS回归通过投影分别将预测变量(自变量X)和观测变量(因变量Y)投......
  • 二,PyCharm软件的使用,Python运算符,变量的介绍与运用,以及本章综合测试
    学习:知识的初次邂逅复习:知识的温故知新练习:知识的实践应用目录一,本章知识简介二,PyCharm软件的使用1,修改背景颜色和字体大小2,软件界面的使用3,PyCharm的常用快捷键三,Python运算符1,Python中常见的运算符有哪些?2,算术运算符如何运用?3,赋值运算符如何运用?4,......
  • 一,邂逅Python,搭建python环境,基础语法介绍:python注释,关键字,标识符,变量,数据类型
    学习:知识的初次邂逅复习:知识的温故知新练习:知识的实践应用目录一,本章知识简介1,本章主要的语法:二,邂逅Python1,什么是编程语言2,编程语言经历了哪些时代?3,学习Python有哪些优势呢?4.为什么要学习python呢?4,python的诞生与发展4.1,python的创始人是谁?4.2,什......
  • Python ttkbootstrap学习
    HelloWorldtkinter知识记录一些tkinter库的知识。pack布局个人觉得布局其实是很负责的,因此这里对布局进行一个补充说明。pack布局是根据添加组件的顺序依次排列所有组件。pack()方法的参数有:side,fill,padx/pady,ipadx/ipady,anchor,expandside:决定组件停靠的方向......
  • TensorRT-For-YOLO-Series项目:实现yolov10模型的python-tensorrt推理(对比int8与fp16推
    项目地址:https://github.com/Linaom1214/TensorRT-For-YOLO-Series/tree/cuda-python算法支持状态:2024.6.16SupportYOLOv9,YOLOv10,changingtheTensorRTversionto10.02023.8.15Supportcuda-python2023.5.12Update2023.1.7supportYOLOv82022.11.29fixs......
  • 非官方python二进制包 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 替代
    前两年的时候,由于偶尔会使用LFD中的二进制python包,但是下载地址都是加密的,不能直接给pip使用,因此为了方便自己把地址解密后做了一个目录页,并自动更新。今天看了一下页面发现包的更新时间都是前两年的,以为是自动更新程序出问题了,一番求证后发现原来是LFD的服务关闭了,幸好只关闭了......
  • Python Matplotlib绘制柏拉图以及在ax.table上绘制矩形、直线、椭圆
    快速入门指南官网官方网址:Matplotlib—VisualizationwithPython官方教程:Tutorials—Matplotlib3.9.2documentation官方指南:UsingMatplotlib—Matplotlib3.9.2documentation官方示例:Examples—Matplotlib3.9.2documentation官方API说明:APIReference—Mat......