为什么要学习Python
1、代码量少
2、开发速度快
近两年的网络爬虫,大数据
简单,功能强大,自由开放的社区环境,丰富的第三方库
人生苦短,我用python
python 的概述
什么是Python
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。可移植性好
面向对象:面向对象是一种以你办事我放心为理想构造出来的东西
动态数据类型:变量不需要指定类型
Python的特点
1>Python是一种解释性语言【开发过程中没有了编译这个环节,类似于PHP或者Perl语言】
2>Python是交互式语言【可以在一个Python提示符,直接互动执行程序】
3>Python是面向对象语言【Python支持面向对象的风格或代码封装在对象的编程技术】
4>Python是初学者的语言【Python对于初级程序员而言,是一种伟大的语言,他支持广泛的应用程序开发,从简单的文字处理到浏览器再到游戏】
Python的发展史
4.python的起源
python的创始人为吉多.范罗苏姆
1.1989年的圣诞节,为了打发时间,决心开发一个新的解释程序。
2.1991年第一个python解释器诞生,并且能够调用c语言的库文件。
Python是Guido van Rossum1989年的圣诞节开发的一门语言,这个名字来自于他最钟爱的电视剧Monty Python’s Flying Circus,在荷兰国家数学和计算机科学研究所设计出来的
Python本身也是由诸多其他语言发展而来的,这包括C、C++、Unix shell和其他的脚本语言等
现在Python是由一个核心开发团队在维护,吉多·范罗苏姆[Guido van Rossum]仍然占据这至关重要的作用,指导其进展.
Python2.x还是Python3.x?
py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。所有的最新的标准库的更新改进,只会在3.x的版本里出现。Guido决定清理Python2.x ,并且不再兼容旧版本。
Python优缺点
python的优点
1>易于学习【Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单】
2>易于阅读【Python代码定义的更清晰】
3>易于维护【Python的成功在于它的源代码是相当容易维护的】
4>一个广泛的标准库【Python的最大优势之一是丰富的库,跨平台的,在nuix、weindows和mac os上的兼容性很好】
5>互动模式【互动模式的支持,可以终端输入执行代码并获得结果的语言,互动的测试和调试代码片段】
6>可移植性【基于其开发源代码的特性,Python已经被移植到许多平台】
7>可扩展性【如果需要一段运行很快的关键代码,或者想要编写一些不愿开发的算法,可以使用C或者C++完成那部分程序,然后从你的Python程序中调用】
8>数据库【Python提供所有主要的商业数据库的接口】
9>GUI编程(图形化界面)【Python支持GUI可以创建和移植到许多系统调用】
10>可嵌入性【可以将Python嵌入到C或者C++程序,让你程序的用户获得“脚本化”的能力】
python的缺点
1>运行速度慢【和C程序相比非常慢,因为Python是解释型语言,代码在执行时会一行一行的翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢,而C程序是运行前直接编译成CPU能执行的机器码,所以非常快】,
1.运算密集型,动画、游戏
2.I/O密集型 ,浏览器查询【python】请求后台
2>代码不能加密【如果要发布Python程序,实际上就是发布源代码,这一点跟C语言不通,C语言不用发布源代码,只需要把编译后的机器码(就是windows上常见的xxx.exe)发布出去,要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去】
程序
运算密集型:运算程序比较多,【强烈不建议使用python】
I/O密集型:网络请求居多【python】
Python能做什么
web后端
网络爬虫
自动化运维
自动化测试
数据分析
人工智能
Python 环境搭建
window 下搭建python环境
1.打开WEB浏览器访问http://www.python.org/download/
2.在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。
一般使用3.6.0
3.下载后,双击下载包,进入Python安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。
4.在 Windows 设置环境变量
- 右键点击"计算机",然后点击"属性"
- 然后点击"高级系统设置"
- 选择"系统变量"窗口下面的"Path",双击即可!
- 然后在"Path"行,添加python安装路径即可(我的D:\Python32),所以在后面,添加该路径即可。 ps:记住,路径直接用分号";"隔开!
- 最后设置成功以后,在cmd命令行,输入命令"python",就可以有相关显示。
MAC下安装Python
Mac系统都自带有Python环境,你也可以在链接 http://www.python.org/download/ 上下载最新版安装。
win + r ===> cmd ==>显示终端
在终端中输入python---》显示python信息
进入:python
退出:exit()
第一个Python程序
运行python有三种方式
1.交互式解释器模式:
dos —》cmd
python/python3 进入编辑模式
exit() #退出编辑
测试
print("hello world")
import sys
sys.path 查看python解释器的安装地址
2.命令行脚本模式:
使用记事本新建一个hello.py结尾的文件
在文件中写入要执行的代码,最后在控制台输入以下的命令进行执行 python/python3 hello.py
先进入文件所在的目录[文件夹] --》python hello.py
【自动化测试的时候使用居多】
3.集成开发环境(IDE):PyCharm
PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
注常用的dos命令:
dir 查看当前目录下所有文件
cd 路径 跳转到指定路径
cd .. ..代表的是上一级目录
切换盘符: 盘符名:,例如c:
在python使用标点符号都是英文下的。
“#”单行注释
'''''':多行注释
print “hello world!” 输出
注意:Mac安装俩个python版本,2和3,python2系列可以支持 print “xxxx” ,python3系列需要使用print("xxx")
Pyhton中文编码
pyhton中未指定编码格式,遇到中文的时候,执行可能会报错:
#!/usr/bin/python
print "你好,世界!"
python2中会报以下错误
MacBook-Pro:python练习 zhangjiao$ python test.py
File "test.py", line 2
SyntaxError: Non-ASCII character '\xe2' in file test.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Python2.x中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
注意:解决方法为只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了
#!/user/bin/python
#-*- coding:utf-8 -*-
# print语句
print "你好,世界!"
Pycharm 设置步骤:
- 进入 file > Settings,在输入框搜索 encoding。
- 找到 Editor > File encodings,将 IDE Encoding 和 Project Encoding 设置为utf-8。
拓展
直接像.exe文件那样运行.py 文件,在windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:
#!/usr/bin/env python3
print('hello world')
然后通过命令给hello.py以执行权限
$ chmod a+x hello.py
就可以直接运行hello.py了。
输入与输出
输出
使用print()在括号中加上字符串,就可以向屏幕中输出指定的文字,比如输出“hello world”,用以下代码实现
print("hello world")
print()函数也可以同时输出多个字符串,用使用逗号“,”隔开
print("hello", "how", "are", "you")
print()会依次打印每个字符串,遇到逗号“,”会输出空格。输出的内容是这样的:
hello how are you
print()可以打印整数,或者计算结果
>>>print(300)
300
>>>print(100 + 200)
300
我们也可以把打印的结果显示的再漂亮一些
>>>print("100 + 200 =", 100 + 200)
100 + 200 = 300
注意:对于字符串"100 + 200 ="它会原样输出,但是对于100+200,python解释器自动计算出结果为300,因此会打印出上述的结果。
输入:
Python提供了一个input()函数,可以让用户输入字符串,并且存放在变量中,比如输入用户名
>>> name = input()
jean
如何查看输入的内容:
>>> name
'jean'
或者使用:
>>> print(name)
jean
当然,有时候需要友好的提示一下,我们也可以这样做:
>>> name = input("place enter your name")
place input your name jean
>>> print("hello,", name)
hello, jean