什么是python
Python由 荷兰数学和 计算机科学研究学会的 吉多·范罗苏姆于1990年代初设计,作为一门叫做 ABC语言的替代品。 Python提供了高效的高级 数据结构,还能简单有效地 面向对象编程。Python 语法和动态类型,以及 解释型语言的本质,使它成为多数平台上写 脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、 大型项目的开发。
windows部署python环境
根据你的 Windows 版本 (64位还是32位) 从Python 的官网下载对应的 Python 3.9 ,地址如下,以下为部分版本链接,可以根据个人需求安装对应版本。
🌞Python 官网链接https://www.python.org/
🍎Python 3.9 安装链接Python Release Python 3.9.0 | Python.org
❄️Python 3.10 安装链接Python Release Python 3.10.0 | Python.org
进入 Python 官网 点击下载(小编使用的是ie浏览器是有自动翻译的)
特别要注意勾上 Add Python 3.5 to PATH,然后“lnstall Now”即可完成安装.默认会安装到 C:\Python35 目录下.
将安装路径Path添加到系统环境变量下
安装完成后, 打开命令提示符窗口(方法是点击“开始”-“运行”-输入:“cmd”),敲入 Python 后,会出现:
安装成功!!!
Jupyter Notebook介绍、安装及使用教程
一、什么是Jupyter Notebook?
- 简介
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
-
组成部分
① 网页应用
网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。
② 文档
即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。
这些文档是保存为后缀名为.ipynb的JSON格式文件,不仅便于版本控制,也方便与他人共享。
此外,文档还可以导出为:HTML、LaTeX、PDF等格式。 -
Jupyter Notebook的主要特点
① 编程时具有语法高亮、缩进、tab补全的功能。
② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
④ 对代码编写说明文档或语句时,支持Markdown语法。
⑤ 支持使用LaTeX编写数学性说明。
二、安装Jupyter Notebook
-
先试用,再决定
如果看了以上对Jupyter Notebook的介绍你还是拿不定主意究竟是否适合你,那么不要担心,你可以先免安装试用体验一下,戳这里,然后再做决定。
值得注意的是,官方提供的同时试用是有限的,如果你点击链接之后进入的页面如下图所示,那么不要着急,过会儿再试试看吧。 -
安装
安装前提
安装Jupyter Notebook的前提是需要安装了Python(3.3版本及以上,或2.7版本)。
使用pip命令安装
如果你是有经验的Python玩家,想要尝试用pip命令来安装Jupyter
Notebook,那么请看以下步骤吧!接下来的命令都输入在终端当中的噢! -
把pip升级到最新版本
- Python 3.x
pip3 install --upgrade pip
- Python 2.x
pip install --upgrade pip
- 注意:老版本的pip在安装Jupyter Notebook过程中或面临依赖项无法同步安装的问题。因此强烈建议先把pip升级到最新版本。
- 安装Jupyter Notebook
- Python 3.x
pip3 install jupyter
- Python 2.x
pip install jupyter
三、运行Jupyter Notebook
- 帮助
如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:
jupyter notebook --help
或
jupyter notebook -h
- 启动
① 默认端口启动
在终端中输入以下命令:
jupyter notebook
执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。
启动过程中终端显示内容如下:
- 注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。
浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。
Python初识
注释 Comment
分类:
- 单行注释,使用 # 开头
- 多行注释,使用 ‘’’ 或 “”" 包裹起来
作用: - 注释主要是用于对代码进行解释和说明,可以提升代码的可读性
- 注释并不会被当做代码处理 # magic comment 除外
'''
# 编写一个2个数相加的函数
def add(a, b):
return a + b
# 编写一个2个数相减的函数
def subtract(a, b):
return a - b
a = add(3, 5)
print(a)
'''
"""
# 编写一个2个数相加的函数
def add(a, b):
return a + b
# 编写一个2个数相减的函数
def subtract(a, b):
return a - b
a = add(3, 5)
print(a)
"""
第一行代码
print("学Python")
执行 python main.py
# -*- coding: utf-8 -*-
# 编写一个2个数相加的函数
def add(a, b):
return a + b
# 编写一个2个数相减的函数
def subtract(a, b):
return a - b
a = add(3, 5)
print(a)
输出 8
数据类型和操作
- 数 Integer(int)
- 浮点数 Float
- 布尔值 Boolean(bool)
- 类型 Type(是的,“类型”也是种类型!)
严格的来说,Type 是一种 类
的 对象
,Python 是一门“面向对象友好”的语言
print(type(2))
# <type 'int'>
print(type(2.2))
# <type 'float'>
print(type(2 < 2.2))
# <type 'bool'>
print(type(type(42)))
# <type 'type'>
更多类型:
- 字符串 String(str)
- 列表 List
- 元组 Tuple
- 集合 Set
- 字典 Dictionary(dict,或者你可以叫它 映射 map)
- 复数 Complex Number(complex)
- 函数 Function
- 模块 Module
常用内置常数 Builtin Constants
常数区别于变量,常数的值是固定的、不可改变的
Python 内置了一些常量
- True,用于表示 布尔 真
- False,用于表示 布尔 假
- None,代表 空 ,用于空值
math 库中的一些数学常量
- pi,数学常数
- = 3.141592…,精确到可用精度
- e,数学常数
- = 2.718281…,精确到可用精度
- tau,数学常数
- = 6.283185…,精确到可用精度(其实它不常用)
- inf,浮点正无穷大,等价于 float(‘inf’),负无穷大使用 -math.inf
print(True) #True
print(False) #False
print(None) # None
print(math.pi) #3.141592653589793
print(math.e) # 2.718281828459045
print(math.tau) # 6.283185307179586
print(math.inf) # inf
print(-math.inf) # -inf
常用内置运算符 Builtin Operators
- 算术:+, -, *, @, /, //, **, %, - (一元算符), + (一元算符)
- 关系:<, <=, >=, >, ==, !=
- 赋值: +=, -=, *=, /=, //=, **=, %=
- 逻辑:and, or, not
print(0.1 + 0.1 == 0.2) # True
print(0.1 + 0.1 + 0.1 == 0.3) # False!
print(0.1 + 0.1 + 0.1) # Why?
print((0.1 + 0.1 + 0.1) - 0.3) # 特别小,但不是 0
def yes():
return True
def no():
return False
def crash():
return 1/0 # 会崩溃!
print(no() and crash()) # 成功运行!
print(crash() and no()) # 崩溃了!
print (yes() and crash()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃
print(yes() or crash()) # 成功运行
# print(crash() or yes()) # 崩溃了
print(no() or crash()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃
print(isNumber(1), isNumber(1.1), isNumber(1+2j), isNumber("p2s"))
# True True False False
- isinstance() 比 type() 更具有 稳健性(Robustness)
- 这种做法更加符合 面向对象编程 中 继承(inheritance) 的思想
import numbers
def isNumber(x):
return isinstance(x, numbers.Number) # 可以应对任何类型的数字
print(isNumber(1), isNumber(1.1), isNumber(1+2j), isNumber("p2s"))
# True True True False
变量与函数
y = 10
print(y - 2)
# 8
变量命名规则:
- 必须以字母或下划线(_)开头
- 命名可由字母、数字和下划线组成
- 大小写敏感
- 尽量避免使用保留字命名
多变量赋值
a = b = c = 2
print(f"a={a}, b={b}, c={c}")
# a=2, b=2, c=2
a, b, c = 1, 2, 6
print(f"a={a}, b={b}, c={c}")
# a=1, b=2, c=6
函数 Functions
A function is a procedure (a sequence of statements) stored under a name that can be used repeatedly by calling the name.
- 函数是一个名字,代表一串代码序列(流程、过程)
- 函数由两个部分组成:header 和 body
- header 用于定义函数接口(函数 名称 与 参数)
- body 包含函数所需要执行的操作
header
header 用于定义函数的名称和参数
- 当函数被调用时,参数将会作为变量被提供给函数的 body 部分
- 可以提供多个参数(用逗号 , 分隔),也可以不提供参数(0 个)
- header 以冒号(:)结尾,代表后面会跟着 body 部分
函数的 header 的写法:
def functionName(parameters):
pass # 函数的 body 部分,这里使用 pass 代替
body
body 包含函数执行的语句(statement)
- 语句需要缩进(由 Code Style Guide 决定)
- 当语句不再缩进,函数部分结束
- 一般会使用 return 语句,来让函数返回其结果,但不是必须的
类似于用一个 = 来对多个变量赋值,函数的返回结果也可以不止一个(用逗号 , 分隔)
下面我们用一个例子来解释函数的细节
def double(x):
print("我在一个名叫 “double” 函数里!")
return 2 * x
print(double(2)) # 会输出 4