中国科学技术大学电子工程与信息科学系 ©2020 使用Python做数字信号处理实验FAQ 1.极简入门代码…。 1.1交互式编程 .2 1.1.1 列表Lst)的使用 2 1.1.2 一个简单的程序 3 1.2使用脚本编程… a4 1.2.1 简单的例子… .4 1.22 输入和输出, 1.3流程控制 .4 1.3.1 条件语句.… 4 1.3.2 循环语句…。 4.5 1.4函数(FUNCT1ON). .6 1.4.1 自定义函数 6 1.4.2 Python内置函数… 6 1.5模块MODU儿E) 7 1.51 自定义模块 1.5.2 使用Python标准库 .8 1.5.3 使用第三方的模块… 1.6 最简单的算法:冒泡排序 9 2.PYTHON的开发环境.… 9 2.1 集成开发环境(IDE:INTEGRATED DEVELOPMENT ENVIRONMENT) 10 2.2 使用JUPYTER NOTEBOOK 10 2.2.1 upyter Notebook有两种不同的键盘输入模式. 11 2.2.2 如何执行She∥命令了… 12 2.2.3 nbexter7si0ns.… 12 2.24 如何打开*pynb文件? 13 3. PYTHON中的科学计算库… .14 3.1 NUMPY .14 3.2 SCIPY… .14 3.2.1 scipy.signal. 15 3.2.2 scipy.fftpack.fft...... 15 3.3 MATPLOTLB....... 16 4.附录:电子书籍… .17 4.1EB00KS. .17 4.2 PYTHON和其他编程语言 ..17 5.参考文献. .18 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 使用 Python 做数字信号处理实验 FAQ 1. 极简入门代码 ........................................................................................................................................2 1.1 交互式编程 ..................................................................................................................................................2 1.1.1 列表(List)的使用 ...............................................................................................................................2 1.1.2 一个简单的程序 ...............................................................................................................................3 1.2 使用脚本编程..............................................................................................................................................4 1.2.1 简单的例子.........................................................................................................................................4 1.2.2 输入和输出.........................................................................................................................................4 1.3 流程控制.......................................................................................................................................................4 1.3.1 条件语句.............................................................................................................................................4 1.3.2 循环语句.............................................................................................................................................5 1.4 函数(FUNCTION)............................................................................................................................................6 1.4.1 自定义函数.........................................................................................................................................6 1.4.2 Python 内置函数...................................................................................................................................6 1.5 模块(MODULE)...............................................................................................................................................7 1.5.1 自定义模块.........................................................................................................................................7 1.5.2 使用 Python 标准库 ........................................................................................................................8 1.5.3 使用第三方的模块...........................................................................................................................8 1.6 最简单的算法:冒泡排序 ......................................................................................................................9 2. PYTHON 的开发环境...........................................................................................................................9 2.1 集成开发环境(IDE: INTEGRATED DEVELOPMENT ENVIRONMENT)............................................... 10 2.2 使用 JUPYTER NOTEBOOK ......................................................................................................................... 10 2.2.1 Jupyter Notebook 有两种不同的键盘输入模式..................................................................... 11 2.2.2 如何执行 Shell 命令?................................................................................................................. 12 2.2.3 nbextensions........................................................................................................................................ 12 2.2.4 如何打开*.ipynb 文件?............................................................................................................. 13 3. PYTHON 中的科学计算库................................................................................................................ 14 3.1 NUMPY......................................................................................................................................................... 14 3.2 SCIPY ............................................................................................................................................................ 14 3.2.1 scipy.signal ........................................................................................................................................... 15 3.2.2 scipy.fftpack.fft.................................................................................................................................... 15 3.3 MATPLOTLIB.................................................................................................................................................. 16 4. 附录:电子书籍................................................................................................................................. 17 4.1 EBOOKS ........................................................................................................................................................ 17 4.2 PYTHON 和其他编程语言....................................................................................................................... 17 5. 参考文献.............................................................................................................................................. 18
中国科学技术大学电子工程与信息科学系 ©2020 1. 极简入门代码 自编学习示例,如果python环境已配置好,可浏览本小节后再阅读SciPy库内容后开 始实验。 1.1交互式编程 #完成数学计算 3+5 17/5 17/5 2*8 8*2 #变量的使用 width=2 height=4 width*heigh #退出python解释器 quit() #启动python解释器 python #换行符 print("Two\ 学信息科学技术学院,仅用于教学实验 raws Test") #换行符的转义 print("Two W raws Test") 1.1.1 列表(List)的使用 #如果列表中存放的是数值,也被称作数组。 squares=[1,4,9,16,25] squares squares[O]#indexing returns the item squares[3] squares[-1] squares[-2] squares[-3] len(squares) #列表中也可以存放其他格式的数据 cells=[1,2,"3string"] network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 1. 极简入门代码 自编学习示例,如果 python 环境已配置好,可浏览本小节后再阅读 SciPy 库内容后开 始实验。 1.1 交互式编程 #完成数学计算 3+5 17/5 17//5 2*8 8**2 #变量的使用 width=2 height=4 width*heigh #退出 python 解释器 quit() #启动 python 解释器 python #换行符 print(“Two \ raws Test”) #换行符的转义 print(“Two \\ raws Test”) 1.1.1 列表(List)的使用 #如果列表中存放的是数值,也被称作数组。 squares = [1, 4, 9, 16, 25] squares squares[0] # indexing returns the item squares[3] squares[-1] squares[-2] squares[-3] len(squares) #列表中也可以存放其他格式的数据 cells=[1,2,"3string"]
中国科学技术大学电子工程与信息科学系 ©2020 #列表可以添加 cells.append(2) cells cells.append("ttt") cells 【例子,利用两个st分别保存城市名称和城市中确诊新型冠状病毒肺炎的人数】 【如果文件中有中文字符,文件的第一行需要如下所示,并将文件保存为UTF-8格式】 #-*-coding:UTF-8-*- city_name=["武汉","黄冈","孝感,"随州","襄阳","荆州","宜昌","黄石叮 infection number=[6384,1422,1120,641,632,613,452,405] i=0 isum=0 printe("n城市:确诊人数n") for city in city name: print(city,""infection number[il) i=i+1 i_sum=i sum+infection numberfi] 仅用于教学实验 print("\nTotal affected:",i sum) 广个生成非被那契子序列的程序,如下所示尺学院 1.1.2一个简单的程序 >>>Fibonacci series: ..the sum of two elements defines the next .a,b=0,1 >>while b 10: print(b) a,b =b,a+b 2 3 #注意,缩进的地方必须缩进,否则会报语法错误(SyntaxError:) #一般建议行缩进使用4个空格或者1个TAB 用一个逗号结尾就可以禁止输出换行 >>>a,b=0,1 >>>whi1eb<1000: print(b,end=',') a,b =b,a+b 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn #列表可以添加 cells.append(2) cells cells.append("ttt") cells 【例子,利用两个 list 分别保存城市名称和城市中确诊新型冠状病毒肺炎的人数】 【如果文件中有中文字符,文件的第一行需要如下所示,并将文件保存为 UTF-8 格式】 # -*- coding: UTF-8 -*- city_name = ["武汉", "黄冈", "孝感", "随州", "襄阳", "荆州", "宜昌", "黄石"] infection_number = [6384, 1422, 1120, 641, 632, 613, 452, 405] i = 0 i_sum = 0 print("\n 城市:确诊人数\n") for city in city_name: print(city, " : ", infection_number[i]) i = i + 1 i_sum = i_sum + infection_number[i] print("\nTotal affected: ", i_sum) 1.1.2 一个简单的程序 写一个生成 菲波那契 子序列的程序,如下所示: #注意,缩进的地方必须缩进,否则会报语法错误(SyntaxError:) #一般建议行缩进使用 4 个空格或者 1 个 TAB
中国科学技术大学电子工程与信息科学系 ©2020 1.2使用脚本编程 如果你退出Python解释器并重新进入,你做的任何定义(变量和方法)都会丢失。因此, 如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个 文件替代作为输入执行。这就是传说中的脚本。 1.2.1 简单的例子 简单说,把一些语句放置到一个文本文件中。例如, E:\tt\test.py-EditPlus File Edit View Search Document Project Iools Browser Zc Window Help □3县a合5D名E自×pe⑦w=I部/回国园园2 Directory Cliptext 上-+--1--+---2-+-3--+-4--+ [C:]WIN10 #coding=utf-8 在使用了中文字符的文件中,必须有上面那一行 CA ☐Program Files (x 脚本(script)简单来说就是把多行代码放到一个文件中,按照顺序执行 6注意本行中换行符的使用 print ("Just a test for add and divide") 10a=3 949.chm 11b=8 A ansi.ctl 12 print(a b) codepage.txt 13 print("a+b ="a+b) control.ctl 14 print("a/b ="a b) cpp.acp cpp.stx lrs.ctx 1.2.2 输入和输出 学信息科 print("Pls input a number") a int(input()) #上面语句中,input()表示获取输入的内容,int(O表示转换为整数 print("u have input:"a) b=8 print("a+b=",a+b) print("a/b=",a/b) 1.3流程控制 1.3.1 条件语句 print("Pls input a number") a int(input()) #上面语句中,input()表示获取输入的内容,int()表示转换为整数 if(a=3): print("Thanks") network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 1.2 使用脚本编程 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失。因此, 如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个 文件替代作为输入执行。这就是传说中的 脚本。 1.2.1 简单的例子 简单说,把一些语句放置到一个文本文件中。例如, 1.2.2 输入和输出 print("Pls input a number") a = int(input()) #上面语句中,input()表示获取输入的内容,int()表示转换为整数 print("u have input: ", a) b = 8 print("a+b = ", a+b) print("a/b = ", a / b) 1.3 流程控制 1.3.1 条件语句 print("Pls input a number") a = int(input()) #上面语句中,input()表示获取输入的内容,int()表示转换为整数 if (a == 3) : print("Thanks")
中国科学技术大学电子工程与信息科学系 ©2020 print("ur the best!") else: print("en heng") https://www.runoob.com/python/python-if-statement.html 写一段代码,如果输入的口令是“abc”,显示“OK”,否则显示“your are denied.” 1.3.2 循环语句 教学实验 条件代码 如果条件为true 条件 如果条件为false www.runoob.com [例:for循环] for letter in"My Python": print("current:",letter) [例:while循环] i=0 while(i<=10): ifi%3=0: print("multiple of 3,"i) else: print("not multiple of 3,"i) i=i+1 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn print("u r the best!") else: print("en heng") 参考 https://www.runoob.com/python/python-if-statement.html 写一段代码,如果输入的口令是“abc”,显示“OK”,否则显示“your are denied.” 1.3.2 循环语句 [例:for 循环] for letter in "My Python": print("current:",letter) [例:while 循环] i = 0 while (i<=10): if i % 3 == 0: print("multiple of 3, ",i) else: print("not multiple of 3,",i) i = i + 1
中国科学技术大学电子工程与信息科学系 ©2020 写一段代码,允许输入3遍口令。 如果输入的口令是“abc”,显示“OK”,否则显示“wrong password,pls input again” 1.4函数(function) 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以def关键词开头,后接函数标识符名称和圆括号0。 任何传入参数和白变量必须放在圆括号中间。圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串一用于存放函数说明。 函数内容以冒号起始,并且缩进。 return表达式结束函数,选择性地返回一个值给调用方。不带表达式的return相 当于返回None。 1.4.1 自定义函数 仅用于 https:Iwww runoob com/python/python-functions 例如, def my_add(a,b): return a+b a=3 b=5 print(my_add(a,b)) 信息科学技术 1.4.2 Python内置函数 https://www.runoob.com/python/python-built-in-functions.html abs() divmod() input() open() staticmethod() all() enumerate() intO ordo str() any() eval() isinstance() pow( sum( basestring() execfile() issubclass() print() super() bin( file( iter() property() tuple() bool() filter len() range() type() bytearray() float() listo raw input() unichr() callable() format() locals() reduce() unicode() chro frozenset() long() reload() vars() classmethod() getattr() map() repr() xrange() cmp() globals() max() reverse() zip() compile() hasattr() memoryview() round() import ( complex( hash() min() set() delattr() help( next() setattr() dicto hex() object() slice) dir() idO oct() sorted() exec内置表达 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 写一段代码,允许输入 3 遍口令。 如果输入的口令是“abc”,显示“OK”,否则显示“wrong password, pls input again” 1.4 函数(function) 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的 return 相 当于返回 None。 1.4.1 自定义函数 参考 https://www.runoob.com/python/python-functions.html 例如, def my_add(a,b): return a + b a = 3 b = 5 print(my_add(a,b)) 1.4.2 Python 内置函数 https://www.runoob.com/python/python-built-in-functions.html abs() divmod() input() open() staticmethod() all() enumerate() int() ord() str() any() eval() isinstance() pow() sum() basestring() execfile() issubclass() print() super() bin() file() iter() property() tuple() bool() filter() len() range() type() bytearray() float() list() raw_input() unichr() callable() format() locals() reduce() unicode() chr() frozenset() long() reload() vars() classmethod() getattr() map() repr() xrange() cmp() globals() max() reverse() zip() compile() hasattr() memoryview() round() __import__() complex() hash() min() set() delattr() help() next() setattr() dict() hex() object() slice() dir() id() oct() sorted() exec 内 置 表 达
中国科学技术大学电子工程与信息科学系 ©2020 式 1.5模块(module) 随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件。你也可能想在 不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来拷去。 为了满足这些需要,Python提供了一个方法可以从文件中获取定义,在脚本或者解释器的 一个交互式实例中使用。这样的文件被称为模块:模块中的定义可以导入到另一个模块 或主模块中(在脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)。 模块是包括Python定义和声明的文件。文件名就是模块名加上py后缀。模块的模块名 (做为一个字符串)可以由全局变量name得到。例如,你可以用自己惯用的文件编辑 器在当前目录下创建一个叫bo.py的文件,录入如下内容: 1.5.1 自定义模块 https://www.runoob.com/manual/pythontutorial3/docs/html/modules.html 写一个模块 #my-math.py def add(a,b): return a+b def mul(a b): return a *b def div(a,b): return a/b def mod(a,b): 学信息科学技术学院 return a %b 编写另外一个脚本文件,调用上面模块中定义的函数 #my math.py是自己定义的module,里面写好了一些函数 import my_math print("pls input Ist number") i=int(input()) print("pls input 2nd number") J=int(input()) print(my_math.add(i,j)) print(my math.mod(1,1)) 写一段代码,输入一个整数,计算其阶乘的结果并输出。 1.5.1.1 mport和From..import的区别 https://jingyan.baidu.com/article/15622f242e15b6fdfcbea5b5.html network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 式 1.5 模块(module) 随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件。你也可能想在 不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来拷去。 为了满足这些需要,Python 提供了一个方法可以从文件中获取定义,在脚本或者解释器的 一个交互式实例中使用。这样的文件被称为 模块;模块中的定义可以 导入 到另一个模块 或 主模块 中(在脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)。 模块是包括 Python 定义和声明的文件。文件名就是模块名加上 .py 后缀。模块的模块名 (做为一个字符串)可以由全局变量 __name__ 得到。例如,你可以用自己惯用的文件编辑 器在当前目录下创建一个叫 fibo.py 的文件,录入如下内容: 1.5.1 自定义模块 参考 https://www.runoob.com/manual/pythontutorial3/docs/html/modules.html 写一个模块 #my-math.py def add(a,b): return a + b def mul(a,b): return a * b def div(a,b): return a / b def mod(a,b): return a % b 编写另外一个脚本文件,调用上面模块中定义的函数 #my_math.py 是自己定义的 module,里面写好了一些函数 import my_math print("pls input 1st number") i = int(input()) print("pls input 2nd number") j = int(input()) print(my_math.add(i,j)) print(my_math.mod(i,j)) 写一段代码,输入一个整数,计算其阶乘的结果并输出。 1.5.1.1 Import 和 From…import 的区别 https://jingyan.baidu.com/article/15622f242e15b6fdfcbea5b5.html
中国科学技术大学电子工程与信息科学系 ©2020 1.5.2 使用Python标准库 【例,标准库time】 import time,#引入time模块 ticks time.time() print"当前时间戳为:",ticks 【例,标准库os】 import os os.getcwd() #返回当前的工作目录 os.chdir(/server/accesslogs')#修改当前的工作目录 os.system('mkdir today') #执行系统命令nkdir 【例,标准库math】 import math math.cos(math.pi/4) 仅用于教学实验 math.log(1024,2) Python标准库提供了非常多的功能,详情可参阅 https://www.runoob.com/python3/python3-stdlib.html https://www.cnblogs.com/yfacesclub/p/10782601.html 学院 1.5.3 使用第三方的模块 1.5.3.1播放声音 信息科学 https://pythonbasics.org/python-play-sound/ #方法1琳snack sound kit from playsound import playsound playsound('audio.mp3') #方法3#snack sound kit from Tkinter import import tkSnack root=Tk() tkSnack.initializeSnack(root) snd tkSnack.Sound() snd.read('sound.wav') snd.play(blocking=1) #方法4#native player import os file="SOS.mp3" os.system("mpg123 "file) network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 1.5.2 使用 Python 标准库 【例,标准库 time】 import time; # 引入 time 模块 ticks = time.time() print "当前时间戳为:", ticks 【例,标准库 os】 import os os.getcwd() # 返回当前的工作目录 os.chdir('/server/accesslogs') # 修改当前的工作目录 os.system('mkdir today') # 执行系统命令 mkdir 【例,标准库 math】 import math math.cos(math.pi / 4) math.log(1024, 2) Python 标准库提供了非常多的功能,详情可参阅 https://www.runoob.com/python3/python3-stdlib.html https://www.cnblogs.com/yfacesclub/p/10782601.html 1.5.3 使用第三方的模块 1.5.3.1 播放声音 https://pythonbasics.org/python-play-sound/ ##方法 1## snack sound kit from playsound import playsound playsound('audio.mp3') ##方法 3## snack sound kit from Tkinter import * import tkSnack root = Tk() tkSnack.initializeSnack(root) snd = tkSnack.Sound() snd.read('sound.wav') snd.play(blocking=1) ##方法 4## native player import os file = "SOS.mp3" os.system("mpg123 " + file)
中国科学技术大学电子工程与信息科学系 ©2020 1.5.3.2基于scikit-mage包把彩色图转换成灰度图 【例子1】 https://scikit-image.org/docs/dev/auto examples/color exposure/plot rgb to gray.html#sphx-glr- auto-examples-color-exposure-plot-rgb-to-gray-py 【所有的例子】 https://scikit-image.org/docs/dev/auto examples/ 1.6最简单的算法:冒泡排序 算法原理参考 https://www.cnblogs.com/Steve Wesley/p/10007987.html def bubble sort(nums): 仅用于教学实验 for i in range(len(nums)-1): for j in range(len(nums)-i-1): if nums[i]>nums[j+1]: nums[i],nums[j +1]=nums[j +1],nums[i] return nums 下面做题, #-*-coding:UTF-8-*- city name=["武汉","孝感","襄阳","荆州","黄冈",】 "随州","黄石","宜昌”,"咸宁",“荆门", "鄂州","十堰,"仙桃","恩施州","天门, "潜江","神农架林区"门 infection number=[8351,1462,735,713,1645,l 706,509,496,384,422,1 382,318,225,138,128,1 54,10,] 写python脚本,按照确诊人数递增(或者递减)顺序排序城市。 也就是说,把city_name和infection_number两个列表重新排序。 2.Python的开发环境 使用Python解释器运行自己编写的python脚本文件,每次采用命令行的方式比较麻烦。 所以有人开发图形化的集成环境DE,在集成了多种功能的图形界面软件中,可以十分方便 地完成脚本的编写、运行等多个步骤。 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 1.5.3.2 基于 scikit-mage 包把彩色图转换成灰度图 【例子 1】 https://scikit-image.org/docs/dev/auto_examples/color_exposure/plot_rgb_to_gray.html#sphx-glrauto-examples-color-exposure-plot-rgb-to-gray-py 【所有的例子】 https://scikit-image.org/docs/dev/auto_examples/ 1.6 最简单的算法:冒泡排序 算法原理参考 https://www.cnblogs.com/SteveWesley/p/10007987.html def bubble_sort(nums): for i in range(len(nums) - 1): for j in range(len(nums) - i - 1): if nums[j] > nums[j + 1]: nums[j], nums[j + 1] = nums[j + 1], nums[j] return nums 下面做题, # -*- coding: UTF-8 -*- city_name = ["武汉", "孝感", "襄阳", "荆州", "黄冈",\ "随州", "黄石","宜昌", "咸宁", "荆门",\ "鄂州","十堰","仙桃","恩施州","天门",\ "潜江", "神农架林区"] infection_number = [8351, 1462, 735, 713, 1645,\ 706, 509, 496 , 384, 422,\ 382, 318, 225, 138, 128,\ 54, 10,] 写 python 脚本,按照确诊人数递增(或者递减)顺序排序城市。 也就是说,把 city_name 和 infection_number 两个列表重新排序。 2. Python 的开发环境 使用 Python 解释器运行自己编写的 python 脚本文件,每次采用命令行的方式比较麻烦。 所以有人开发图形化的集成环境 IDE,在集成了多种功能的图形界面软件中,可以十分方便 地完成脚本的编写、运行等多个步骤
中国科学技术大学电子工程与信息科学系 ©2020 2.1集成开发环境(IDE:Integrated Development Environment) PyCharm教育版 https://www.jetbrains.com/education/download/#section=pycharm-edu ● 打开已有的Python文件,执行。 ●新建Python文件,执行。 ● Python文件可以调试(Debug)、单步(Step)执行等。 2.2使用Jupyter Notebook Jupyter Notebook的本质是一个Web应用程序,便于创建和共享文学化程序文档,支 持实时代码,数学方程,可视化和markdown。用途包括:数据清理和转换,数值模拟,统 计建模,机器学习等等。Jupyter Notebook这一名称实际上是分为两部分,前半部分是结 合了木星Juipter一词,并对Julia(新兴语言)、Python、R这三门编程语言的参考组合而 来。 Anaconda3(64-bit) Anaconda Navigator (Anaconda.. Anaconda Powershell Prompt(... Anaconda Prompt (Anaconda3) Jupyter Notebook(Anaconda3) 最近添加 Reset Spyder Settings (Anacond. Spyder (Anaconda3) Android Studio Blend for Visual Studio 2019 便笺 D P在这里输入你要搜索的内容 X 使用Jupyter Notebook,可以把代码和代码执行的结果优雅地结合在一起。 中国 network @ustc.edu.cn
中国科学技术大学电子工程与信息科学系 ©2020 network@ustc.edu.cn 2.1 集成开发环境(IDE: Integrated Development Environment) PyCharm 教育版 https://www.jetbrains.com/education/download/#section=pycharm-edu 打开已有的 Python 文件,执行。 新建 Python 文件,执行。 Python 文件可以调试(Debug)、单步(Step)执行等。 2.2 使用 Jupyter Notebook Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支 持实时代码,数学方程,可视化和 markdown。用途包括:数据清理和转换,数值模拟,统 计建模,机器学习等等。Jupyter Notebook 这一名称实际上是分为两部分,前半部分是结 合了木星 Juipter 一词,并对 Julia(新兴语言)、Python、R 这三门编程语言的参考组合而 来。 使用 Jupyter Notebook,可以把代码和代码执行的结果优雅地结合在一起