Python基础学习笔记1(AI Studio)

2023-09-15 15:12:54

地址:飞桨AI Studio星河社区-人工智能学习与实训社区

课程地址:飞桨AI Studio星河社区-人工智能学习与实训社区 

课程地址:飞桨AI Studio星河社区-人工智能学习与实训社区 

课程地址:飞桨AI Studio星河社区-人工智能学习与实训社区 

AI Studio的Notebook项目的基本操作

  • 项目启停
  • 执行和调试
  • 多文件代码编辑
  • 上传Notebook
  • Notebook快捷键
  • 暗黑模式
  • 字号调节
  • Notebook中使用Shell命令

            使用pip来安装自己需要的package (但不支持apt-get)

            查看当前环境中安装的package

            持久化安装

                    使用git命令来同步代码 (暂时需要Paddle 1.4.1以上)

            文件下载

  • Python代码执行与调试
  • 变量监控
  • Magic命令

             %env:设置环境变量

             %run: 运行python代码

             %%writefile and %pycat: 导出cell内容/显示外部脚本的内容

  • 关于快速查看某个对象/方法/接口的用法
  • 关于变量监控
  • 关于调试代码

 项目启停

当进入自己项目的详情页面时, 用户可以选择"运行"项目, 也就是准备项目环境.

同样的, 当不想继续时, 可以此页面点击"停止"以终止项目.

执行和调试

插入断点则需要使用Python自带Debugger: PDB. 

Python自带一个调试器, 在Python 3.7之后甚至成为内置调试器. 这就是PDB. 这是使用Python的用户需要掌握的基本技能.

对应代码如下:

import pdb

class MyScrapy:
    urls = []

    def start_url(self, urls):
        pdb.set_trace()
        for url in urls:
            print(url)
            self.urls.append(url)

    def parse(self):
        pdb.set_trace()
        for url in self.urls:
            result = self.request_something(url)

    def request_something(self, url):
        print('requesting...')
        data = '''<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
</body>
</html>'''
        return data


scrapy= MyScrapy()
scrapy.start_url(["http://www.zone7.cn", "http://www.zone7.cn", "http://www.zone7.cn", "http://www.zone7.cn", ])
scrapy.parse()

 详细使用说明的主要内容参考 howchoo

更多具体内容:AI Studio基本操作(二) Debug篇 - 飞桨AI Studio星河社区

多文件代码编辑

  1. 支持多文件编辑
  2. 可使用命令
    !cat <<newfile > newfile.py

    在项目空间内直接创建文件,之后双击进行编辑。

上传Notebook

 

Notebook快键键

快键键分为两种状态下:1.命令模式;2.编辑模式

暗黑模式

字号调节

Notebook中使用Shell命令

通过在Shell命令前添加! (感叹号), 就可以执行部分Shell命令. 包括诸如 !pip install这样的命令. 不过, !apt-get这种可能引发用户进一步操作的命令是不支持的.

使用pip来安装自己需要的package(但不支持apt-get)

! pip install package名

#查看当前环境中安装的package
!pip list --format=columns

#查看预装软件
!apt list

持久化安装

 需要进行持久化安装就需要使用持久化路径,例:

!mkdir /home/aistudio/external-libraries
!pip install beautifulsoup4 -t /home/aistudio/external-libraries

同时添加如下代码,这样每次环境(kernel)启动时只要运行下方代码即可:

import sys
sys.path.append('/home/aistudio/external-libraries')

使用git命令来同步代码 (暂时需要Paddle 1.4.1以上)

%env:设置环境变量

%run: 运行python代码

%%writefile and %pycat: 导出cell内容/显示外部脚本的内容

%%writefile magic可以把cell的内容保存到外部文件里。 而%pycat则可把外部文件展示在Cell中

%%writefile SaveToPythonCode.py

from math import sqrt
for i in range(2,10):
    flag=1
    k = int(sqrt(i))
    for j in range(2,k+1):
        if i%j == 0:
            flag = 0
        break
        if(flag):
            print(i)

因为没有指定路径, 所以文件被保存到了根目录下. 但至少it works.

然后再来尝试从中读文件内容:

%pycat SaveToPythonCode.py

调试器:

import pdb

class MyScrapy:
    urls = []

    def start_url(self, urls):
        pdb.set_trace()
        for url in urls:
            print(url)
            self.urls.append(url)

    def parse(self):
        pdb.set_trace()
        for url in self.urls:
            result = self.request_something(url)

    def request_something(self, url):
        print('requesting...')
        data = '''<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
</body>
</html>'''
        return data


scrapy= MyScrapy()
scrapy.start_url(["http://www.zone7.cn", "http://www.zone7.cn", "http://www.zone7.cn", "http://www.zone7.cn", ])
scrapy.parse()

 运行结果:

Python附带了一个名为pdb的有用模块,它基本上是一个交互式源代码调试器。

一旦开始运行, 会出现交互框

如下图所示:

在这个输入框里敲入命令, 即可开始调试.

通常这些命令都是一个字母, 因此毋庸担心.

  • 下一行->n:在输入框里, 输入n, 可转到下一行
  • 打印->p
  • 动态添加断电->b:在调试会话开始后在程序的特定位置添加断点
  • 动态分配变量
  • 退出->q:可以在任何时候退出
  • ENTER :重复上次命令
  • c :继续
  • l :查找当前位于哪里
  • s :进入子程序,如果当前有一个函数调用,那么 s 会进入被调用的函数体
  • n(ext) :让程序运行下一行,如果当前语句有一个函数调用,用 n 是不会进入被调用的函数体中的
  • r :运行直到子程序结束)
  • !<python 命令>
  • h :帮助
  • a(rgs) :打印当前函数的参数
  • j(ump) :让程序跳转到指定的行数
  • l(ist) :可以列出当前将要运行的代码块
  • p(rint) :最有用的命令之一,打印某个变量
  • q(uit) :退出调试
  • r(eturn) :继续执行,直到函数体返回
#如发现环境中未安装, 可以运行下方代码来安装ipdb

!pip install ipdb -i https://pypi.tuna.tsinghua.edu.cn/simple

更多推荐

【需求侧响应】综合能源中多种需求响应——弹性电价、可平移及可削减研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码及数据💥1概述需求侧响应是一种通过调整能源消费行为以适应电网需

高比例清洁能源接入下计及需求响应的配电网重构(matlab代码)

1主要内容该程序复现《高比例清洁能源接入下计及需求响应的配电网重构》,以考虑网损成本、弃风弃光成本和开关操作惩罚成本的综合成本最小为目标,针对配电网重构模型的非凸性,引入中间变量并对其进行二阶锥松弛,构建混合整数凸规划模型,采用改进的IEEE33节点配电网进行算例仿真,分析了需求响应措施和清洁能源渗透率对配电网重构结果

基于yolov5的交通标志牌的目标检测研究——源码及文档

有需要本项目的全套代码和资源以及部署的可以私信博主!!!!!此外本项目所需的深度学习环境点击顶部即可下载,解压可以使用,直接跑所有的深度学习模型,超级方便!本课题研究,通过利用提供的公开数据集TT100K图标进行筛选和整理,最终得到TT100K数据中的45类交通标志牌数据。并将数据集进行分割,其中训练集:6664条;验

FFmpeg5.1.3编译动态库详细教程(基于Linux虚拟机)

FFmpeg编译详细教程FFmpeg编译详细教程本文原创:猿视野(一家分享技术架构思路,扩展程序员视野的网站,遇到技术问题,可以加联系方式相互交流)转载请注明出处和相关链接,否则追究其法律责任!原文地址:https://developer.aliyun.com/article/1326862?source=5176.1

【AI】机器学习——支持向量机(非线性及分析)

5.支持向量机(线性SVM)文章目录5.4非线性可分SVM5.4.1非线性可分问题处理思路核技巧核函数特点核函数作用于SVM5.4.2正定核函数由K(x,z)K(x,z)K(x,z)构造H\mathcal{H}H空间步骤常用核函数5.5SVM参数求解算法5.6SVM与线性模型关系5.4非线性可分SVM5.4.1非线性可

仿照Everything实现的文件搜索工具--SearchEverything

一、项目介绍项目名称:SearchEverything项目简介:SearchEverything是仿照Everything实现的一款桌面级的文件搜索软件,它是Everything的增强版,支持跨平台的使用。项目功能:1.选择文件夹后,多线程扫描文件夹下的子文件夹,显示文件的名称、路径、文件类型(文件夹还是文件)、文件大

面向高速公路车辆切入场景的自动驾驶测试用例生成方法

【摘要】为在自动驾驶汽车基于场景的测试中生成涵盖相应场景中复杂多变的真实交通运行过程的测试用例,从highD数据集中提取车辆切入场景的多个实际样本,通过分析运动参数和参与车辆之间的位置关系,建立车辆切入场景的描述模型,根据切入点的碰撞时间评估该方案的风险程度,并结合描述模型中参数的分布,采用蒙特卡罗方法生成测试用例。结

基于Java+vue前后端分离失物招领信息交互平台设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

初始化列表

目录必须在初始化列表初始化的条件:explicit多参数强制类型转换静态成员​编辑对于静态成员变量需要在构造函数里初始化吗?静态成员函数:题目1:求1+2+3+...+n_牛客题霸_牛客网(nowcoder.com)要求类对象只能在栈上:必须在初始化列表初始化的条件:1:const修饰的成员变量(只有一次初始化的机会,

VirtualBox安装RockyLinux并使用ssh访问

文章目录1前言2安装RockyLinux2.1新建虚拟机2.2设置虚拟机内存和CPU数量2.3设置虚拟机硬盘大小2.4完成设置2.5启动虚拟机2.6RockyLinux的安装2.6.1直接回车2.6.2等待check完成2.6.3设置语言2.6.4设置最小化安装2.6.5去除分区设置的感叹号2.6.7设置root账号的

什么是生成对抗网络 (GAN)?

什么是生成对抗网络(GAN)?钦吉兹·赛义德贝利·一、说明GAN(GenerativeAdversarialNetwork)网络是一种深度学习模型,由两个神经网络——生成器和判别器组成。生成器负责生成虚假的数据,而判别器负责判断数据的真实性。它们之间通过对抗学习的方式相互影响和学习,最终生成器能够生成更加真实的数据,而

热文推荐