python基础
前言
今天是2021.11.28日周日。虽然年纪越来越大,但心中对生活的感悟从来没有减少过。上大学以来一开始没适应好大学节奏。成绩落下了,失去了很多机会。经常超级羡慕那些能力很强各方面都很优秀的人,也活在自卑的阴影里很长时间。自己也在努力挣扎,尽量在一些方面做的不错。来东南以后,虽然见过更多耀眼的人,但是我也发现我也不是很差,慢慢就有了自信。嵌前天跑5公里的时候,想起心中受过的苦就有点悲伤,但很快就被心中积极的力量,乐观坚定的心一扫而空。原来我是真的也有自己独特的目标,坚定的精神,也富有无穷的力量。
是时候开始准备找工作了,科研现在在做CV异常检测,(坦白说,我对CV挺感兴趣的,就是有点怕卷不过),会C++比较多,前天和同学商量,java or C++ 。考虑了很久,终于在找工作阶段放弃java。工作方向就打算找CV or C++开发 或者两个的交叉方向。打算从基础的复习起来,python基础,C++基础,计算机4件套和linux。python刚上研究生看过,不过有点忘记了,虽然很简单,但是前天改网络的时候,居然写出了if flag == True 的句子。可见先复习一下吧,一方面是复习科研,一方面让自己慢慢进入找工作的状态。leetcode也要慢慢来了。
参考书籍:《python 编程 从入门到实践 第二版》 埃里克马瑟斯
本文内容:
一 python基础 变量
二 列表和操作列表
三 if语句 列表
四 用户输入 while循环
五 函数 类
一 python基础、变量:
查看python版本
python -V
python --version
退出python
exit() or ctrl+A+D
变量 并 输出
message = "hello python world"
print(message)
字符串
字符串可以直接print,他可以是双引号,也可以是单引号 字符串有一些不常用的函数 比如 upper、title、lower
f字符串
first_name = "ada"
last_name = "lovelace"
full_name = f"{
first_name}{
last_name}"
print(full_name)
# 输出ada lover
\t \n 分别是制表符和换行 这些与其他语言相同
还有python与其他语言不同的一点,可以整体赋值,如x,y,z=0,0,0
python的注释有 # 单句注释和 三个单引号的分行注释
还有前几天项目里有一句话`
print('Loss: Reconstruction {:.6f}/ Compactness {:.6f}/ Separateness {:.6f}'.format(loss_pixel.item(), compactness_loss.item(), separateness_loss.item()))
和C类语言的 %d 和 %f %lf 比较相似 .6f 是保留小数点6位
二 列表和操作列表:
列表简介 访问列表元素 修改列表元素
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles)
print(bicycles[-1])# 这是打印最后一个与元素
bicycles[0] = ‘a’ #按照索引修改
bicycles.append('b')
#还有一个insert的方法
motorcycles = [1,2,3]
motorcycles.insert(0,12)
print(motorcycles)
# 输出 [12,1,2,3]
方法有很多 比如del[0]删除列表的第一个元素
pop()方法也可以使用 每次弹出列表的最后一个元素 关键是可以用变量获取他的值 如 A=B.pop()
还有一个可以通过remove删除元素的方法,加入列表A有元素1,可以通过使用A.remove(1)的方法删除 注意 只删除第一个是1的元素
#还有一个sort方法
cars=['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
# 也可以用soerted临时排序
# 也有一个reverse反置列表 好像java也有这个函数吧
# 最近做项目里dataloader也是这样读数据再排序的
videos = glob.glob(os.path.join(self.dir, '*'))
for video in sorted(videos):
video_name = video.split('/')[-1]
self.videos[video_name] = {
}
self.videos[video_name]['path'] = video
self.videos[video_name]['frame'] = glob.glob(os.path.join(video, '*.jpg'))
self.videos[video_name]['frame'].sort()
self.videos[video_name]['length'] = len(self.videos[video_name]['frame'])
#这里是将数据集中的文件名(视频名排序起来)
操作列表
循环
things=['sky','cloud'