一、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的三种方式
  1. 交互式解释器

  2. 命令行运行Python源代码

  3. 使用编辑器或集成开发环境(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基础第一周相关推荐

  1. Python基础第一周--Python语言家族

    在这里插入图片描述 一.Python语言家族 1 Introduction 1.1 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 简单来说,Pyt ...

  2. Python基础第一周第三天

    章节一 第十六节 Python函数哪里不一样1: 知识要点: 1>了解什么是Python函数. 2>知道Python下如何定义函数. 章节一 第十七节 Python函数哪里不一样2: 知识 ...

  3. python学习第一周总结

    python学习第一周总结 一.Markdown语法 Markdown是一种轻量级标记语言,排版语法简洁,它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML.PDF 以及本身的 . ...

  4. Linux基础第一周

    Linux基础第一周 命令的格式 command(命令)option(选项)arguments(参数)三部分组成,之间需要空格间隔 options 选项 启用命令的某项功能,从而更改命令的功能 arg ...

  5. Python基础第一课

    全部都重要 github博客传送门 博客园传送门 Python基础课 如何下载安装Python Python基础第一课 Python基础第二课 Python基础第三课 Python基础第四课 没了. ...

  6. 零基础学Python语言 第一周

    (1)字符串拼接.用户输入两个字符串,将它们组合后输出 str1 = input("请输入一个人的名字: ") str2 = input("请输入一个国家名字: &quo ...

  7. 01 Python学习--第一周--开课介绍、数据类型、数据运算、表达式、循环、三元运算、对象基本概念...

    模块一主要内容 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 ...

  8. python学习第一周(1)

    备注:一般规范代码,可以操作code-reformat code 1. #!/usr/bin/env python 脚本语言第一行 作用:文件中代码用指定可执行程序运行,在unix类的操作系统才有意义 ...

  9. python 爬虫 第一周:学会爬取网页信息

    1.安装库 确保python和系统的版本一致,32 or 64 , pip --version 查看pip版本 Soup = BeautifulSoup(html,'lxml') 汤          ...

最新文章

  1. 训练1000层的Transformer究竟有什么困难?
  2. C# 8 新特性 - 可空引用类型
  3. Codeforces Round #715 (Div. 1) B. Almost Sorted 找规律
  4. PHP获取客户端ip的五种方式
  5. firebase使用_使用Firebase进行物联网原型设计:如何事半功倍
  6. 3GPP定义的IMSnbsp;ECT业务与Conf…
  7. 20+个很棒的Android开源项目
  8. HBase shell命令
  9. vue 实时显示当前时间
  10. ​Python优化机制:常量折叠
  11. 微信公众号发红包 php,php微信公众号接口实现发红包的方法
  12. 基于改进二进制粒子群算法的配电网重构(matlab实现)
  13. C语言的二进制转十进制
  14. 多通道声源定位方法之GCC-PHAT:原理及matlab实现
  15. 高中化学竞赛能用计算机吗,加分取消不用参加奥赛了?这8个竞赛国家支持、高校认可...
  16. 【转】 中兴OLT-C300常用命令
  17. 18天精读掌握《费曼物理学讲义卷一》 第10天 2019/6/26
  18. Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification
  19. 怎么设置计算机网络打印机共享,打印机共享怎么设置 手把手教你打印机共享的设置方法【图解】-太平洋电脑网PConline_教你学电脑_太平洋电脑网PConline...
  20. mysql数据库的多表查询(一对一,一对多,多对多)

热门文章

  1. 本周周报-20220109
  2. 福特FORD EDI流程指南
  3. 中小型服装店如何选择管理软件?
  4. 柳比歇夫时间管理法 | 让你的时间管理更有效率
  5. PC项目——vue 脚手架中实现阿里云人机滑动验证
  6. Qt扫盲-QSS概述
  7. 【Unity】一些不错的unity插件
  8. 文献翻译:Comparative metagenomics of hydrocarbon and methane seeps of the Gulf of Mexico
  9. 入门深度学习?这里有5件你应该知道的事
  10. epub直接获取书名及书封面