python 自主学习笔记

文章目录

前言

最近在学halcon,机器视觉,越学越发现,python是无法避免的语言。因为python用途实在是太广了。python在计算机的地位和英语在世界语言的地位一样,是独一档的。无论是什么程序员,还是其它职业的工作人员,都可以去学一下Python。

相关教程

Python 3 教程|菜鸟教程

模板字符串

Python和C#,JavaScirpt,都推出了各自的模板字符串。这里要点名一下Java,Java的模板字符串出现的太晚了。Java 21才推出。其实好的设计语言都是互通的。

JavaScript

javascript 复制代码
var name = '小王'
var age = 16
var str = `我是${小王},今年${age}岁`

C#

csharp 复制代码
string name = "小王";
int age = 16;
string str = $"我是{小王},今年{age}岁"

Python

python 中的 f 字符串及其常见用法

python 复制代码
name = '小王'
age = 16
print(f'我叫{name},age={16}')

临时变量

说到临时变量,C#有匿名对象和元组,元组是最佳的临时变量。C#也有两种元组,Tuple和ValueTuple。元组在我的这里的评价的是临时变量。Python具有不可变性的常量。但是我觉得不可变性的用处不大。

C#的ValueTuple

C#就不展开说明了,之前做过了

C# 元祖,最佳的临时变量

Python

Python的元组需要引入命名空间,而且需要函数创建。这个就不够优雅了。

python 复制代码
# 需要额外引入命名空间
from collections import namedtuple
# 需要保证Tuple命名和入参的名称一致
Mytuple = namedtuple("Mytuple",['x','y'])
p1 = Mytuple(x = 1,y =2)
print(p1.x,p1.y)

字典

感觉我的思路是错误的,Python里面的元组就是用来返回静态常量的,Python里面的字典倒是可以实现我想要的参数的功能

自定义模块化封装的文件路径问题

模块之间的互相引用是必须的,因为复杂的项目一定是封装成多个文件,这样才具有复用性,解耦性。

在其它语言中,我们都是先创建一个解决方案,由解决方案去管理整个文件路径,又有一个命名空间的概念,命名空间就是每个类的住址的唯一门牌号,这样才能保证我们的类的引用不会出错

【Python】Python 包 ② ( 自定义 Python 包 | 导入并调用自定义 Python 包 | __init__.py 定义 __all__ 变量 )
python的构建工具setup.py的方法使用示例
python 文件夹py文件相互引用

但是上面的方法都是有问题的

我找了半天,我终于了解决的方案。

python3:sys.path.append(".../")就是在挖坑

在下面的评论区里面找到了答案

解决方案

比如我的文件路径结构

跨文件的调用是非常麻烦的,但是我们可以重定向到文件根路径

test2.py调用test1.py

python 复制代码
import sys,os
# 选择当前文件路径
os.chdir(os.path.dirname(__file__))
# 当前文件路径的上一层路径
sys.path.append("../")

from folder1 import test1

如果是test4.py,两层文件路径,则需要再往上一层

test4.py 调用test1.py

python 复制代码
import sys,os
# 选择当前文件路径
os.chdir(os.path.dirname(__file__))
# 当前文件路径的上两层路径
sys.path.append("../../")

from folder1 import test1

虽然一般没有两层文件夹,但是我得有解决的方案

我测试过,跟文件调用也没有任何问题

python 复制代码
# 完全没有任何问题
from folder3.folder4 import test4

暂时结束

我后面再研究一下Python的面向对象,我就可以彻底用python写复杂项目了。后面就是常用工具类的使用了,比如json,log,网络通讯等功能。

相关推荐
久绊A2 小时前
Python 基本语法的详细解释
开发语言·windows·python
StickToForever4 小时前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
Hylan_J5 小时前
【VSCode】MicroPython环境配置
ide·vscode·python·编辑器
莫忘初心丶5 小时前
在 Ubuntu 22 上使用 Gunicorn 启动 Flask 应用程序
python·ubuntu·flask·gunicorn
leegong231117 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
敲敲敲-敲代码7 小时前
【SQL实验】触发器
数据库·笔记·sql
Moonnnn.8 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
失败尽常态5238 小时前
用Python实现Excel数据同步到飞书文档
python·excel·飞书
2501_904447748 小时前
OPPO发布新型折叠屏手机 起售价8999
python·智能手机·django·virtualenv·pygame
青龙小码农8 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx