python理解和相关语法

python理解和相关语法

Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
字符串:
矩阵和数组的区别:
跟普通变量查不多

i = ‘i love fishc.com ’

数组中的元素可以是字符等
矩阵中的只能是数

数组和列表的区别:
数组:(python中不存在)只能将数据类型一样的 放在同一个数组中

列表:可以将字符 整数 浮点数等 放在一起 入 a= [‘李’,1,3.14]

元组:括号 () 和逗号 ,
不可插入,删除等操作

c++和python的不同之处:
c++:数据类型不同,有结构体,构造器,析构器,虚方法,重载,友元,指针等等

python:数据类型不同,有魔术方法

format方法:
在这里插入图片描述

列表生成式(for循环前面有个变量):

classes = [d for d in os.listdir(dir) if os.path.isdir(os.path.join(dir, d))]
等价于
classes = []
for d in os.listdir(dir):
    if os.path.isdir(os.path.join(dir, d)):
        classes.append(d)

ls2 =[str(i) for i in ls1]
等价于
ls2 = []
for i in ls1:
    ls2.append(str(i))
https://github.com/utiasSTARS/cat-net
在运行这里面 run_cat_vikitti.py 时报错  the following arguments are required:stage 
An exception has occurred,use %tb to see the full traceback

parser.add_argument('stage',type=str,choices=['train','test','both']
实质上就是加参数的时候不规范 应该在stage前面加--(即'--stage## 标题'
print('Train {}: {} --> {}'.format(seq, cond, canonical))
#seq放到第一个{},cond放到第二个{}....

魔术方法

__str__   
class Stu():
	... 
	def __str__(self):
	 return...
	... 
s1 = Stu()  #实例化
#则在print(s1)时会直接执行def __str__(self):下面的操作

在这里插入图片描述
Image.fromarray()

ource = Image.fromarray(self.source.get_rgb(idx)) #简而言之,就是实现array到image的转换

enumerate的理解:

for i,line in enumerate(lines):
    pirnt("{}:{}".format(i,line))
i和line,分别表示循环lines中的第几个和具体值   用enmuerate返回的即是i,line元组

简单地理解Python中的if name == ‘main

if name == 'main’的意思是:当.py(当前代码)文件被直接运行时,.py(当前代码)下的if name == 'main’之下的代码块将被运行;当.py(当前代码)文件以模块形式被导入时,.py(当前代码)if name == 'main’之下的代码块不被运行。

关于类方法的理解:
在调用类方法时,一般先直接实例化类,再调用里面的函数

class Solution:
    def findLength(self, A, B):
        n, m = len(A), len(B)
        dp = [[0] * (m + 1) for _ in range(n + 1)]
        ans = 0
        for i in range(n - 1, -1, -1):
            for j in range(m - 1, -1, -1):
                dp[i][j] = dp[i + 1][j + 1] + 1 if A[i] == B[j] else 0
                ans = max(ans, dp[i][j])
        return ans
H=Solution()
k=H.findLength(C,D)
并不是这样:
K=Solution.findLength(C,D) 会报错

子类父类继承问题理解
在这里插入图片描述
在这里插入图片描述
转自:https://www.runoob.com/w3cnote/python-extends-init.html,更多详情**(子类父类继承)**

insert用法

li=['a', 'b']
li.insert(0,"c")
输出为:['c', 'a', 'b']

布尔类型就是ture or false

filter()和map()函数
在这里插入图片描述
filter返回真
map生成一个列表
转自小甲鱼P22

lambda 与 def 比较
在这里插入图片描述
即lambda可以非常简便创建函数

在变量前加两个下划线(__name)就会变成私有变量:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值