ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python学习】安装Python

2020-05-22 23:55:56  阅读:288  来源: 互联网

标签:plt 索菲亚 img Python pyplot matplotlib 学习 安装


从前猫王国里有一只白猫,名叫索菲亚,她学习用Python编程。

Vamei[1]细述Python的起源。Python是一种编程语言,作者Guido von Rossum,一位荷兰计算机工程师。Guido创造Python的初衷是:「希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。」

Vamei书写了Python教程系列文章,他是索菲亚的引路人。当时索菲亚写论文,发现用Python所simulation很简洁精美功能强大。

Python是一种解释性编程语言,也就是说不需要生成可执行程序,直接执行脚本(.py文件)。所以Python程序执行时,解释器必须运行。Python3即解释器。这和C不同,C语言是用编辑器(compiler)[2]生成可执行程序的(机器代码文件,01码)。所以C程序比Python脚本运行快些。陈皓先生(微博左耳朵耗子,Github haoel)说网站开发需要用Java。 Python在学术研究和中小型项目很适用。

本文索菲亚介绍Python的绘图功能。内容尽可能地self-contained。所以从安装Python开始写起。

1. 安装Python

索菲亚用MacBook Pro电脑,操作系统是macOS Mojave,Version10.14.5。

由于索菲亚安装Python已经很久了,不是实录,仅仅是介绍官方网站文字[3]

程序安装次第是Xcode、Homebrew、Python、Pip、Jupyter。

  1. 安装Xcode(可选)

Xcode是Mac的计算器功能调用环境,即Mac编程环境,通常Mac自带Xcode,便不需要再安装了。

  1. 安装Homebrew

Homebrew是Xcode的package manager,即文件下载和安装工具。是不是Mac也自带了?
如果需要安装,安装操作是输入命令:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. 安装Python 3

安装操作是输入命令:

$ brew install python
  1. 安装pip3(可选)

Python 3的package manager工具是pip3(Python 2的package manager工具是pip)。
索菲亚不记得是Homebrew安装包里有pip 3还是Python 3自带pip3。请试试以下命令。

pip3 install numpy

通常学术仿真常用的python package还有数据处理scipy,绘图的matplotlib。下文会介绍matplotlib.pyplot。

5.安装Jupyter

脚本editor。用TextEdit就可以编辑Python脚本,但Python对缩进很苛刻,需要专业的editor。

索菲亚有工具控,她查找过、尝试过很多best editors,vi、emacs、IDLE,还有专业程序员常用编辑器,体积巨大。索菲亚最喜欢Jupyter,支持中文注释文字。

索菲亚认为Mac Terminal中执行Python,确实既可以直接编程,又可以执行脚本文件。
而Jupyter也有这两个功能。

安装操作[4]是输入命令:

$ pip3 install "ipython[notebook]"

运行Jupyter,需要输入命令:

$ python3 -m IPython notebook

可以发现Jupyter在浏览器中执行。

安装好了,现在来尝试第一个Python程序。

2. 绘图程序

绘图可以用image paackage逐个pixel基础绘图,也可以调用绘图package。

2.1 基础绘图

在Jupyter new python,可以看到另一个浏览器窗口。在命令行(cell)输入Python 代码:

from PIL import Image


img_size = 300
bg_color = 0xFFFFFF

im = Image.new('RGB', (img_size, img_size), bg_color)

for x in range(img_size):
    for y in range(int(img_size/3)):
        im.putpixel((x, y), 0xff0000)
    for y in range(int(img_size/3),int(img_size*2/3)):
        im.putpixel((x, y), 0x00ff00)
    for y in range(int(img_size*2/3),img_size):
        im.putpixel((x, y), 0x0000ff)
       
im.show()

2.2 调用绘图功能包matplotlib.pyplot

matplotlib.pyplot[5]是使得matplotlib运作起来像是MATLAB的绘图function package。
例如,新绘一个图,在图中作文字说明等。

plot函数用于画点和线,同时有autoscale功能,即坐标会自动适配展示所绘的图。

import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9], 'o--')
plt.xlabel('time (s)')
plt.show()

plot还有第三个参数用于规定点和线的风格,还可以用数组表示点,数组需要numpy package。例如,

import numpy as np
import matplotlib.pyplot as plt
# evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)
#t是一维数组, 可以用print(t)观察


# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.title('Dots show')
plt.xlabel('time (s)')
plt.ylabel('Functions')
plt.show()

组合型参数'r--'表示red,虚线。其他参数请用英文单词直觉理解。Python 函数的介绍有时不严谨,我想是作者认为脚本语言本身即英文文本说明。

如果画圆[6],原理是先准备一个圆的对象,再显示到坐标系。

import matplotlib.pyplot as plt

ax = plt.gca()#Get Current Axes
c1=plt.Circle((0, 0), 0.2, color='r', alpha=0.5)
c2=plt.Circle((1, 1), 0.5, color='cyan', alpha=0.5, clip_on=False)
ax.add_patch(c1)
ax.add_patch(c2)
ax.add_artist(plt.Circle((1, 0), 0.5, color='grey', alpha=0.5, clip_on=True))
#The difference between ax.add_patch(..) and ax.add_artist(..)
#of the two, only the former makes autoscaling machinery take the circle into account.

#Use adjustable='box-forced' to make the plot area square-shaped as well.
ax.set_aspect('equal', adjustable='datalim')
ax.plot()   #Causes an autoscale update.
plt.show()

参考:


  1. Vamei,「Python简史」,2013-02-06,https://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html ↩︎

  2. Compiler vs Interpreter: Complete Difference Between Compiler and Interpreter, guru99, https://www.guru99.com/difference-compiler-vs-interpreter.html ↩︎

  3. Installing Python 3 on Mac OS X, https://docs.python-guide.org/starting/install3/osx/ ↩︎

  4. 大数软体有限公司,「如何安装 Jupyter (Ipython Notebook)」,2017-10-31,https://v.youku.com/v_show/id_XMzEyMzQ1MzEwOA==.html?refer=seo_operation.liuxiao.liux_00003310_3000_nUF3ai_19042900 ↩︎

  5. Pyplot tutorial, https://matplotlib.org/3.1.1/tutorials/introductory/pyplot.html#sphx-glr-tutorials-introductory-pyplot-py ↩︎

  6. Evgeni Sergeev, plot a circle with pyplot, 2018-01-03, https://stackoverflow.com/questions/9215658/plot-a-circle-with-pyplot/29184075#29184075 ↩︎

标签:plt,索菲亚,img,Python,pyplot,matplotlib,学习,安装
来源: https://www.cnblogs.com/dersu/p/12940453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有