pycharm入门与对常见代码if __name__='__main__'的理解

这篇博客介绍了PyCharm的安装和环境配置,包括如何解决模块导入和虚拟环境的问题。文章还讨论了Python文件的两种使用方式以及`if __name__ == '__main__'`的作用,解释了单下划线和双下划线在Python中的含义。通过实例,作者帮助读者理解如何避免模块冲突和合理使用虚拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、pycharm安装与环境配置
https://www.runoob.com/w3cnote/pycharm-windows-install.html

2、模块中的坑

import cv2
直接安装cv2模块
在这里插入图片描述
因为cv2是包含在opencv-python模块中的,安装opencv-python模块后就可以正常使用cv2

下载速度慢
使用国内镜像网站
File→Setting→Project Interpreter
在添加库的界面点击Manage Repositories
添加国内镜像网站例如:http://pypi.doubanio.com/simple/

python3自带json模块,已有模块无法使用,与python file重名

3、虚拟环境的坑

正常运行没问题时
用命令行编译出现问题
在这里插入图片描述
修改环境变量,在path中加入python编译器路径
继续编译,出现同样错误

pycharm自动加载的环境为虚拟环境
虚拟环境可以在系统python编译器中避免包的混乱和版本的冲突
在真实主机python里安装的东西,在虚拟环境中是没有的
在这里插入图片描述
在创建虚拟环境时勾选
Inherit global site-packages 继承源解释器环境中安装的包
Make available to all projects 用到所有项目
在这里插入图片描述4、

if __name__='__main__':

python文件的两种使用方法:
作为脚本直接运行
import到其他python脚本中被调用

#test.py
print ("I'm the first.")
print(__name__)
if __name__=="__main__":
    print ("I'm the second.")
#test.py 运行结果
I'm the first.
__main__
I'm the second.
#a.py
import test
print(__name__)
#a.py 运行结果
I'm the first.
test
__main__

在if name='main’情况下
代码只有在第一种情况下才会被执行
而在import到其他脚本中不会

5、单下划线和双下划线

python中并不存在真正的私有方法,为了实现私有方法在函数前加"_"意味着该方法不应该被调用

#_and__
class A:
    def _method(self):
        print('class A ')
    def method(self):
        return self._method()
a = A()
a.method()
a._method()
#运行结果
class A
class A

实际上在函数前加"_"并不影响其调用,只是约定上不应该被调用

class A:
    def __method(self):
        print('class A')
    def method(self):
        return self.__method()
class B(A):
    def __method(self):
        print('calss B')
a=A()
b=B()
a.method()
b.method()
a.__method()

在这里插入图片描述
__不能直接被调用,防止函数被子类覆盖

参考:
https://blog.csdn.net/helloxiaozhe/article/details/80534894 单下划线和双下划线
https://blog.csdn.net/zhusongziye/article/details/79505803 if name=‘main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值