为什么Python 如此受欢迎
- 面向对象,解释型计算机程序设计语言
- 1989年 Guido van Rossum(吉多·范罗苏姆)发明,1991 年公开版本发行
吉多·范罗苏姆(Guido van Rossum)中的Guido(吉多),拼音 Gui 龟,所以被中国程序员戏称为“龟叔”。
- Python3.X 在2008年发布,为了不带来过多的累赘,没有考虑向下兼容Python2.X
- 应用:科学计算、自然语言处理、图形图像处理、脚本开发、Web 应用
- 当今最受欢迎的语言之一,人生苦短我用Python, TIOBE 排名均在第一
- 美国大学计算机编程入门课程最流行的语言(前10名计算机系中有8名使用 Python)
- Python设计哲学:优雅,明确,简单,可读性强
Python 解析器
Python 是一个免费开源的动态编程语言,动态语言要在计算机中运行,必须要借助于 Python 解析器,通过 Python 解析器来解析和运行我们的代码。
什么是动态语言?什么是静态语言?两者有什么区别?
动态语言:动态类型语言,是在运行时检查数据类型(如:Python、JavaScript 、Ruby、Shell等)
静态语言:静态类型语言,是在编译时检查数据类型(如:C/C++、Java、C#、Go等)
区别:变量的数据类型确定的时机不同,动态语言是在运行时根据变量值确定;静态语言是在编译时根据声明类型确定。
解析器:
语言只是符号、语法、语义定义及使用规则的集合。使用这些规则编写的程序(Python 程序)并不能被计算机直接执行。解析执行 Python 源程序的程序叫做 Python 解析器 (Interpreter),而由解析器解析执行的过程就是 Python 的实现。
总结:Python 代码不能直接运行,要通过 Python 解析器 来进行解析运行!
根据底层实现的语言不同,Python解析器主要有以下几种:
- CPython 官方提供的解析器就是C语言实现的,所以称为 CPython,也是最常用的Python 实现,课程中使用的就是 CPython 作为解析器。
- JPython 使用 Java 语言实现的 Python 解析器,将 Python 代码编程成 Java 字节码执行。
- IronPython 是运行在微软 Net 平台上的 Python 解析器,直接把 Python 代码编译成 Net 字节码。
- PyPy 使用 Python 语言实现的 Python 解析器。
Python 语言简洁些
C++ 写法
#include <iostream> using namespace std;
int main
{
cout<<"Hello World";
return 0;
}
Java 写法
public class Main{
public static void main(String[] args)
System.out.printin("Hell o World");
}
}
Python 写法
print "Hello World"
Python 环境搭建
Anaconda安装
Anaconda(水蟒):是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 cond 等180 多个科学计算包及其依赖项,并且支持所有操作系统平台。下载地址:https://www.anaconda.com/
为什么要安装 Anaconda 软件?
1.Anaconda 软件提供了 Python 解析器,能解析和运行 Python 代码。
2.除了提供 Python 解析器外,还集成了大量常用扩展包和依赖库,其中就包含了数据分析、人工智能等相关的库。所以安装 Anaconda 软件后,我们后续就不用再单独去安装很多扩展库或依赖项。
PyCharm
Python 的集成开发工具
说明:Mac系统打开提示 “PyCharm.app”已损坏,无法打开。 您应该将它移到废纸篓。
解决:在终端输入命令:sudo xattr -r -d com.apple.quarantine /Applications/PyCharm.app
然后就能正常打开。
说明:安装完两个软件后,我们要让两者之间产生一个关联。PyCharm 的 Python 解析器可以直接关联 Anaconda,这样我们就可以在 PyCharm 写完代码后,马上就可以使用 Anaconda 的 Python 解析器对其解析执行。
Python 基础语法
- 注释
# 单行注释
print('hello world')
'''
多行注释1 (使用单引号)
'''
name = '张三'
print(name)
"""
多行注释2 (也可以使用双引号)
"""
age = 23
print(age)
- 变量命名
# 蛇形命名法(单词之间用下划线间隔)
user_name = 'Tom'
# 小驼峰命名法(第二个单词开始,首字母大写)
userName = 'Tom'
# 大驼峰命名法(每个单词首字母都大写)
UserName = 'Tom'