Python基础第一周
一、Python语言家族
1 Introduction
1.1 Python 简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
简单来说,Python是一门编程语言,帮助我们更好的与计算机沟通,功能全面、易学易用、可拓展语言,所以说,人生苦短,我学Python。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
Python 是一种解释型高级语言:
这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言:
这意味着,您可以在一个Python提示符,直接互动执行写你的程序。Python 是面向对象语言:
这意味着Python支持面向对象的风格或代码封装在对象的编程技术。Python 是初学者的语言:
Python 对初级程序员而言,是一种伟大的语言,开发代码量少,模块扩展库种类繁多,所以它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
扩展:编译型与解释型的原理
- 编译型:编译器将源代码逐条编译成机器代码,任何一条语句 有错,都不能通过编译,最终形成目标代码,以后每次执行只执 行目标代码即可,因此执行速度快。
- 解释型:解释器逐条解释源代码,成功一条就执行一 条,每次执行时都需要解释,所以速度稍慢
1.2 Python发展历史
- Python的作者是荷兰人Guido von Rossum(龟叔)
- 1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。
- 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python’s Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为。
- Python正式诞生于1991年
- Python目前有两个版本,Python2和Python3,代码不完全兼容
- 源文件.py文件猴后缀名
- Python的解释器如今有多个语言实现,通常用的是Cpython或者IPython(官方版本的C语言实现),其他还有Jpython(Java平台)、IronPython(NET和Mono平台)、PyPy(Python实现)
扩展:Python2还是Python3
- py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。所有的最新的标准库的更新改进,只会在3.x的版本里出现。Guido决定清理Python2.x ,并且不再兼容旧版本。
- 最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。
- py3比py2更规范统一、去掉了没必要的关键字Python3.x还在持续改进。
- 所以我们还是推荐大家使用Python3.x。
2 Python的安装与使用
2.1 Python环境搭建
Python可应用于多平台包括Windows、 Linux/Unix 和 Mac OS。
Python有不同的搭建环境包括Python解释器(CPython)、编辑器(()IDLE,PyCharm,Sublime Text)、Python软件包管理系统(pip)
2.1.1 环境下载
Python最新源码,解释器环境等最新下载
Python官网:http://www.python.org/
Python 权威使用技术文档等最新下载
Python文档下载地址:http://www.python.org/doc/
2.1.2 Python编辑器
- Ipython IDLE
- Vim和macVim(linux,unix,macOSX)
- Eclipse+pyDEV
- Xcode(macOSX)
- Notepad++(win)
- Sublime Text(win,macOSX,linux,unix)
- PyCharm(全平台)
2.1.3 Unix & Linux 平台安装 Python:(源码式安装)
- 以下为在Unix & Linux 平台上安装 Python 的简单步骤:
- 打开WEB浏览器访问http://www.python.org/download/
- 选择适用于Unix/Linux的源码压缩包。
- 下载及解压压缩包。
- 如果你需要自定义一些选项修改Modules/Setup
- 执行 ./configure 脚本
- make
- make install
- 执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号。
2.1.4 通过ubuntu官方的apt工具包安装
$ sudo apt-get install python $ sudo apt-get install python2.7 $ sudo apt-get install python3.6
2.1.5 Mac安装Python3
$ brew sreach python$ brew install python3//在/usr/local/Cellar/这个目录下
2.1.6 windows下直接安装
① 首先访问http://www.python.org/download/ 下载最新环境
② 然后选择最新版本,并适用于自己系统的环境
③ 下载后,双击安装,选择“Install Now”默认安装,但一定勾选“Add Python 3.7 toPATH”
④ 如果没有添加环境,在安装之后,配置环境
3 Python的运行
运行Python的三种方式
交互式解释器
命令行运行Python源代码
使用编辑器或集成开发环境(IDE)例如:pycharm
3.1 交互式解释器
- 你可以通过命令行窗口进入python并开在交互式解释器中开始编写Python代码。
- 你可以在Unix,DOS或任何其他提供了命令行或者shell的系统进行python编码工作。
$ python # Unix/Linux
或者
C:>python # Windows/DOS
- 以下为Python命令行参数:
选项 | 描述 |
---|---|
-d | 在解析时显示调试信息 |
-O | 生成优化代码 ( .pyo 文件 ) |
-S | 启动时不引入查找Python路径的位置 |
-V | 输出Python版本号 |
-X | 从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时。 |
-c cmd | 执行 Python 脚本,并将运行结果作为 cmd 字符串。 |
file | 在给定的python文件执行python脚本。 |
3.2 命令行脚本
- 在记事本中输入下列代码,另存为test.py文件
import requests
response=requests.get(https://img-bss.csdnimg.cn/201906261028104896.png)
pic = open('photo.jpg','wb')
pic.write(response.content)
- 在你的应用程序中通过引入解释器可以在命令行中执行Python脚本,如下所示:
$ python test.py # Unix/Linux
或者
C:>python test.py # Windows/DOS
3.3 集成开发环境
- PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
- PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
- PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
3.3.1 Pycharm的基本使用
下载安装后,新建一个项目
选择Python解释器,并确定项目名称
新建一个Python源代码文件
给源文件起名字
运行源文件
得到运行结果
4 Python基础语法
4.1 Python注释
Python中的注释有单行注释和多行注释:
- python中单行注释采用 # 开头。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py# 第一个注释
print("Hello, Python!") # 第二个注释
输出结果:
Hello, Python!
注释可以在语句或表达式行末:
name = "Madisetti" # 这是一个注释
- python 中多行注释使用三个单引号(’’’)或三个双引号(""")。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
4.2 Python语法格式-缩进
- python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。
- 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
- 缩进强迫大家写出格式化的代码
- 当语句以’:’结尾时,缩进的语句视为代码块
- 约定俗成管理,4个空格为一个缩进
- Python大小写敏感
实例如下:
if True:print ("True")
else:print ("False")
- 以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:print ("Answer")print ("True")
else:print ("Answer")print ("False") # 缩进不一致,会导致运行错误
- 以上程序由于缩进不一致,执行后会出现类似以下错误:
File "test.py", line 6print ("False") # 缩进不一致,会导致运行错误^
IndentationError: unindent does not match any outer indentation level
多行语句
- Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
total = item_one + \item_two + \item_three
- 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three','item_four', 'item_five']
空行
- 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
- 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
- 记住:空行也是程序代码的一部分。
4.3 输入和输出:
input()输入:
- input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
- input()在从键盘获取了数据以后,会存放到等号右边的变量中
- input()会把用户输入的任何值都作为字符串来对待
- 注意:在python2中还有一个raw_input()输入,但到python3中没有了
#!/usr/bin/python3str = input("请输入:");
print ("你输入的内容是: ", str)
- 这会产生如下的对应着输入的结果:
请输入:Hello Python!
你输入的内容是: Hello Python!
Print()输出:
- print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
#!/usr/bin/python3x="a"
y="b"
# 换行输出
print( x )
print( y )print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()# 同时输出多个变量
print(x,y)
format的格式化函数(了解)
- 格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
- 基本语法是通过 {} 和 : 来代替以前的 % 。
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'>>> print("网站名:{name}, 地址 {url}".format(name="百度", url="www.baidu.com")) #指定参数名
'网站名:百度, 地址 www.baidu.com'>>>site = {"name": "百度", "url": "www.baidu.com"}
>>>print("网站名:{name}, 地址 {url}".format(**site)) # 通过字典设置参数
'网站名:百度, 地址 www.baidu.com' >>>my_list = ['百度', 'www.baidu.com']
>>>print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的 通过列表索引设置参数
'网站名:百度, 地址 www.baidu.com'>>> print("{:.2f}".format(3.1415926)); #数字格式化
3.14
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
11 |
‘{:b}’.format(11) ‘{:d}’.format(11) ‘{
Python基础第一周相关推荐
最新文章
热门文章 |