资讯专栏INFORMATION COLUMN

全网最全python教程,从零到精通(学python有它就够必收藏)

learn_shifeng / 1421人阅读

摘要:年,第一个编译器诞生。它是用语言实现的,并能够调用语言的库文件。荣登年年度最佳编程语言,很多大公司,包括都大量的使用。

文章目录

1.1. Python的诞生

Python的作者是著名的“龟叔”Guido van Rossum,1989年,龟叔为了打发无聊的圣诞节,开始编写Python语言。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。

荣登2018年TIOBE年度最佳编程语言,很多大公司,包括google、Yahoo都大量的使用Python。

1.1.1. 提升自己的逼格,你需要了解

Python的发音与拼写
Python的意思是蟒蛇,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python’s Flying Circus)
Python的作者是Guido van Rossum(龟叔)

Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言

Python第一个公开发行版发行于1991年
Python目前有两个主要版本,Python2和Python3,最新版分别为2.7.12和3.7.2
Life is short, you need Python. 人生苦短,我用Python。

1)官 网:https://www.python.org/ 2)中文社区:http://www.pythontab.com/

面向对象的解释型语言
简单易学
丰富的库
强制使用制表符作为语句缩进(white space)

1.1.2. Python各个版本发布时间

1989年由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年

Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生Python 2.5 - September 19, 2006Python 2.6 - October 1, 2008Python 2.7 - July 3, 2010Python 3.0 - December 3, 2008Python 3.1 - June 27, 2009Python 3.2 - February 20, 2011Python 3.3 - September 29, 2012Python 3.4 - March 16, 2014Python 3.5 - September 13, 2015

1.1.3. Python主要应用领域

人工智能: 典型库NumPy, SciPy, Matplotlib, TensorFlow
云计算: 云计算最火的语言, 典型应用OpenStack
WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django,Flask
系统运维: 运维人员必备语言
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。
图形GUI: PyQT, WxPython,TkInter

1.1.4. Python在一些公司的应用

谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

1.2. Python 的安装

因为 Python 是跨平台的,它可以运行在 Windows、Mac 和各种 Linux/Unix 系统上。目前,Python 有两个版本,一个是 2.x 版,一个是 3.x版,这两个版本是不兼容的。安装的是 3.6.1 版本的。

官网地址:https://www.python.org/

是 windows 系统,下载完后,直接安装,不过这里记得勾上Add Python 3.6 to PATH,然后点 “Install Now” 即可完成安装。

Python安装.png

安装完成后,打开命令提示符窗口,敲入 python 后,出现下面的情况,证明 Python 安装成功了。你看到提示符 >>> 就表示我们已经在 Python交互式环境中了,可以输入任何 Python 代码,回车后会立刻得到执行结果。

运行python.png

1.3. Python中文文档

https://docs.python.org/zh-cn/3/

1.4. 集成开发环境 IDE

我们使用Pycharm 下载地址:http://www.jetbrains.com/pycharm

1.4.1. 在Pycharm上运行第一个Python应用程序

1.4.2. 1新建项目

打开PyCharm,单击“file”,然后选中“New Project…"

选择项目要保存的位置,选择python.exe,点击create

3、弹出的窗口里点击ok,项目就创建好了

1.4.3. 2、新建python文件

1、右击项目,点击New ,再点击Python File

2、输入要创建的python文件的名称,点击ok

1.4.4. 3、写代码,运行

1、输入代码 print(“Hello world!”)

image

2、右击空白处,选择Run ‘PrintHello’

1.4.5. 4、运行结果

运行成功,控制台打印出了“Hello world!”

2.1. 变量定义

在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建
等号(=)用来给变量赋值
= 左边是一个变量名
= 右边是存储在变量中的值

变量名 = 值

2.1.1. 实例1—— 学生注册

# 定义变量---学生学号studentNo = "9527"# 定义变量---学生密码stuentPassword = "123"# 在程序中,如果要输出变量的内容,需要使用 print 函数print(studentNo)print(stuentPassword)说明#是代码注释,快捷键是Ctrl+/

Python的代码缩进

Python语言通过缩进来组织代码块,这是Python的强制要求。 下面的代码有误:

# 定义变量---学生学号    studentNo = "9527"# 定义变量---学生密码stuentPassword = "123"# 在程序中,如果要输出变量的内容,需要使用 print 函数print(studentNo)print(stuentPassword)

这样也不行

# 定义变量---学生学号studentNo = "9527"# 定义变量---学生密码stuentPassword = "123"# 在程序中,如果要输出变量的内容,需要使用 print 函数    print(studentNo)print(stuentPassword)

和其他编程语言不同,Python代码对格式要求非常严格。代码写的里出外进,无法通过编译。后面我们在分支,循环,函数,类等知识点时还会多次看到这种情况。

2.1.2. 实例2—— 超市买菜

需求
柿子的价格是 8.5 元/斤
买了 7.5 斤 柿子
计算付款金额

# 定义柿子价格变量price = 8.5# 定义购买重量weight = 7.5# 计算金额money = price * weightprint(money)

2.2. 变量的类型

变量的四要素:
变量的名称
变量保存的数据
变量存储数据的类型
变量的内存地址(标识)

2.2.1. 变量类型的演练 —— 表达个人信息

需求
定义变量保存小强的个人信息
姓名:小强
年龄:22 岁
性别:是男生
身高:1.80 米
体重:77.0 公斤
利用 单步调试 确认变量中保存数据的类型

提问
在演练中,一共有几种数据类型?
4 种
str —— 字符串
bool —— 布尔(真假)
int —— 整数
float —— 浮点数(小数)
在 Python 中定义变量时需要指定类型吗?
不需要
Python 可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型

2.2.2. 变量的类型

在 Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)
数据类型可以分为 数字型 和 非数字型
数字型
整型 (int)
浮点型(float)
布尔型(bool)
真 True 非 0 数 —— 非零即真
假 False 0
非数字型
字符串
列表
元组
字典
使用 type 函数可以查看一个变量的类型

type(name)

2.2.3. 不同类型变量之间的计算

1) 数字型变量 之间可以直接计算
在 Python 中,两个数字型变量是可以直接进行 算数运算的
如果变量是 bool 型,在计算时
True 对应的数字是 1
False 对应的数字是 0
演练步骤
定义整数 i = 10
定义浮点数 f = 10.5
定义布尔型 b = True
在PyCharm中,使用上述三个变量相互进行算术运算

i = 10f = 10.5b = Trueprint(i+f+b)
21.5

发生了自动类型转换,全部转换成了浮点数。
2) 字符串变量 之间使用 + 拼接字符串
在 Python 中,字符串之间可以使用 + 拼接生成新的字符串

first_name = "三"last_name = "张"print(first_name + last_name)

3) 字符串变量 可以和 整数 使用 * 重复拼接相同的字符串

print("-" * 50)

输出

 "--------------------------------------------------"

4) 数字型变量 和 字符串 之间 不能进行其他计算

first_name = "zhang"x = 10print( x + first_name)---------------------------------------------------------------------------TypeError: unsupported operand type(s) for +: "int" and "str"类型错误:`+` 不支持的操作类型:`int` 和 `str`

解决办法:使用str(x)将x的类型强制转换成字符串类型

first_name = "zhang"x = 10print(str(x)+first_name)

2.2.4. 变量的输入

所谓 输入,就是 用代码 获取 用户通过 键盘 输入的信息
例如:去银行取钱,在 ATM 上输入密码
在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数
1) 关于函数
一个 提前准备好的功能(别人或者自己写的代码),可以直接使用,而 不用关心内部的细节
目前已经学习过的函数

2) input 函数实现键盘输入
在 Python 中可以使用 input 函数从键盘等待用户的输入
用户输入的 任何内容 Python 都认为是一个 字符串
语法如下:

字符串变量 = input("提示信息:")

3) 其他类型转换函数

4) 变量输入演练 —— 超市买苹果
需求
收银员输入 苹果的价格,单位:元/斤
收银员输入 用户购买苹果的重量,单位:斤
计算并且 输出 付款金额
代码

# 1. 输入苹果单价price_str = input("请输入苹果价格:")# 2. 要求苹果重量weight_str = input("请输入苹果重量:")# 3. 计算金额# 1> 将苹果单价转换成小数price = float(price_str)# 2> 将苹果重量转换成小数weight = float(weight_str)# 3> 计算付款金额money = price * weightprint(money)

2.2.5. 变量的格式化输出

使用%

苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元

在 Python 中可以使用 print 函数将信息输出到控制台
如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符
% 被称为 格式化操作符,专门用于处理字符串中的格式
包含 % 的字符串,被称为 格式化字符串
% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符

语法格式如下:

print("格式化字符串" % 变量1)print("格式化字符串" % (变量1, 变量2...))

举个栗子
需求

定义字符串变量 name,输出 我的名字叫 小明,请多多关照!定义整数变量 student_no,输出 我的学号是 000001定义小数 price、weight、money,输出 苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元定义一个小数 scale,输出 数据比例是 10.00%
print("我的名字叫 %s,请多多关照!" % name)print("我的学号是 %06d" % student_no)print("苹果单价 %.02f 元/斤,购买 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))print("数据比例是 %.02f%%" % (scale * 100))

使用format
用法:
它通过{}和:来代替传统%方式
字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。

str = "{}曰:学而时习之,不亦说乎。".format("孔子")print(str)
"孔子曰:学而时习之,不亦说乎。"

如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。

"{}曰:学而时习之,不亦{}。".format("孔子","说乎")
"孔子曰:学而时习之,不亦说乎。"

可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号

"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")
"孔子曰:学而时习之,不亦说乎。"

f-字符串
f-string是 Python 3.6 中定义的一种参数化字符串的方式,主要是让格式化字符串更加便捷。 在 f-string 中,不要再使用 %-格式化 或者 format 函数中的复杂写法,可以直接在字符串中写入变量名。f-string 用 {} 标识变量,区别在于 {} 不再是用来占位的,而是直接写入变量名。 修改上面的格式化例子:

name = input("请输入姓名:")fondness = input("请输入爱好:")print(f"{name} 的爱好是 {fondness}!")    # 字符串前面的 f 大小写均可

课上实践 —— 个人名片

需求
在控制台依次提示用户输入:姓名、公司、职位、电话、邮箱
按照以下格式输出:

**************************************************公司名称姓名 (职位)电话:电话邮箱:邮箱**************************************************
"""在控制台依次提示用户输入:姓名、公司、职位、电话、电子邮箱"""name = input("请输入姓名:")company = input("请输入公司:")title = input("请输入职位:")phone = input("请输入电话:")email = input("请输入邮箱:")print("*" * 50)print(company)print()print("%s (%s)" % (name, title))print()print("电话:%s" % phone)print("邮箱:%s" % email)print("*" * 50)

课后作业 使用f-string方法实现上述需求。

2.3. 变量的命名

2.3.1. 标识符和关键字

1.1 标识符

标识符就是程序员自己命名的 变量名。 名字 需要有 见名知义 的效果,不要随意起名。
不好的变量命名

c1 = "小朱学长"n = 1500

好的变量命名

company = "小朱学长"employeeNum = 1500

标示符可以由 字母、下划线 和 数字 组成
不能以数字开头
不能与关键字重名

1.2 关键字

关键字 就是在 Python 内部已经使用的标识符
关键字 具有特殊的功能和含义
开发者 不允许定义和关键字相同的名字的标示符
通过以下命令可以查看 Python 中的关键字

import keywordprint(keyword.kwlist)
["False", "None", "True", "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"]

关键字的学习及使用,会在后面的课程中介绍

import 关键字 可以导入一个 “工具包”

在 Python 中不同的工具包,提供有不同的工具

2.3.2. 变量的命名规则

命名规则 可以被视为一种 惯例,并无绝对与强制 目的是为了 增加代码的识别和可读性

注意 Python 中的 标识符 是 区分大小写的

userName = "zhangsan"print(username)
Traceback (most recent call last):  File "C:/Users/Administrator/PycharmProjects/hellopython/test.py", line 2, in <module>    print(username)NameError: name "username" is not defined

在定义变量时,为了保证代码格式,= 的左右应该各保留一个空格
在 Python 中,如果 变量名 需要由 二个 或 多个单词 组成时,可以按照以下方式命名
每个单词都使用小写字母
单词与单词之间使用 _下划线 连接

例如:first_name、last_name、qq_number、qq_password

2.4驼峰命名法

当 变量名 是由二个或多个单词组成时,还可以利用驼峰命名法来命名
小驼峰式命名法
第一个单词以小写字母开始,后续单词的首字母大写
例如:firstName、lastName
大驼峰式命名法
每一个单词的首字母都采用大写字母
例如:FirstName、LastName、CamelCase

3.1运算符

3.1.1. 算数运算符

是完成基本的算术运算使用的符号,用来处理四则运算

>>> a=10>>> b=5>>> print(a+b)15>>> print(a-b)5>>> print(a*b)50>>> print(a/b)2.0>>> print(a**b)100000>>> print(a//b)2>>> print(a%b)0

3.1.2. 比较(关系)运算符

>>> a=10>>> b=20>>> a==bFalse>>> a!=bTrue>>> a>bFalse>>> a>> a>=bFalse>>> a<=bTrue

3.1.3. 逻辑运算符

>>> a=True>>> b=False>>> a and bFalse>>> a or bTrue>>> not aFalse>>> not -1False>>> not 0True

3.1.4. 赋值运算符

在 Python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符
注意:赋值运算符中间不能使用空格

>>> a=10>>> b=20>>> c=0>>> c=a+b>>> print(c)30>>> c+=10>>> print(c)40>>> c-=a>>> print(c)30>>> c*=a>>> print(c)300>>> c/=a>>> print(c)30.0>>> c%=a>>> print(c)0.0>>> c=a**5>>> print(c)100000>>> c//=b>>> print(c)5000>>> print(b)20

3.1.5. 运算符的优先级

以下表格的算数优先级由高到最低顺序排列

4.1. 条件语句

Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。

Python 程序语言指定任何非 0 和非空(None)值为 True,0 或者 None为 False。

4.1.1. if 语句的基本形式

Python 中,if 语句的基本形式如下:

if 判断条件:    执行语句……else:    执行语句……

前面也提到过,Python 语言有着严格的缩进要求,因此这里也需要注意缩进,也不要少写了冒号 : 。

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

例如:

# -*-coding:utf-8-*-results=59if results>=60:    print ("及格")else :    print ("不及格")

输出的结果为:

不及格

上面也说道,非零数值、非空字符串、非空 list 等,判断为True,否则为False。因此也可以这样写:

num = 6if num :    print("Hello Python")

4.1.2. if 语句多个判断条件的形式

有些时候,我们的判断语句不可能只有两个,有些时候需要多个,比如上面的例子中大于 60 的为及格,那我们还要判断大于 90 的为优秀,在 80 到 90 之间的良好呢?

这时候需要用到 if 语句多个判断条件,

用伪代码来表示:

if 判断条件1:    执行语句1……elif 判断条件2:    执行语句2……elif 判断条件3:    执行语句3……else:    执行语句4……

实例:

# -*-coding:utf-8-*-results = 89if results > 90:    print("优秀")elif results > 80:    print("良好")elif results > 60:    print ("及格")else :    print ("不及格")

输出的结果:

良好

4.1.3. if 语句多个条件同时判断

Python 不像 Java 有 switch 语句,所以多个条件判断,只能用 elif 来实现,但是有时候需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

# -*-coding:utf-8-*-java = 86python = 68if java > 80 and  python > 80:    print("优秀")else :    print("不优秀")

输出结果:

不优秀

注意:if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

java = 86python = 68if (80 <= java < 90) or (80 <= python < 90):    print("良好")

输出结果:

良好

课上练习1

我想买车,买什么车决定于我在银行有多少存款如果我的存款超过500万,我就买路虎否则,如果我的存款超过100万,我就买宝马否则, 如果我的存款超过50万,我就买迈腾否则, 如果我的存款超过10万,我就买福特否则, 如果我的存款10万以下 ,我买比亚迪

课上练习2

输入小明的考试成绩,显示所获奖励成绩==100分,爸爸给他买辆车成绩>=90分,妈妈给他买MP490>成绩>=60分,妈妈给他买本参考书成绩<60分,什么都不买

4.2. 循环语句

一般编程语言都有循环语句,循环语句允许我们执行一个语句或语句组多次。

循环语句的一般形式如下:

Python 提供了 for 循环和 while 循环,当然还有一些控制循环的语句:

4.2.1. While 循环语句

count = 1sum = 0while count <= 100:    sum = sum + count    count = count + 1print(sum)

输出的结果:

5050

当然 while 语句时还有另外两个重要的命令 continue,break 来跳过循

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124792.html

相关文章

  • 从小白程序员一路晋升为大厂高级技术专家我看过哪些书籍?(建议收藏

    摘要:大家好,我是冰河有句话叫做投资啥都不如投资自己的回报率高。马上就十一国庆假期了,给小伙伴们分享下,从小白程序员到大厂高级技术专家我看过哪些技术类书籍。 大家好,我是...

    sf_wangchong 评论0 收藏0
  • ❤️爆肝十二万字《python零到精通教程》,从零教你变大佬❤️(建议收藏

    文章目录 强烈推荐系列教程,建议学起来!! 一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置 4.2手动添加镜像源4.3永久配置镜像源 五.插件安装(比如汉化?)5.1自动补码神器第一款5.2汉化pycharm5.3其它插件 六.美女背景七.自定义脚本开头八、这个前言一定要看九、pyt...

    booster 评论0 收藏0
  • 一个脚本教你快速去除桌面图标烦人的小箭头

    摘要:于是乎,冰河写了一个脚本完美去除了桌面图标烦人的小箭头。今天,给大家分享一个如何完美去除桌面快捷图标小箭头的技巧,希望能够给大家带来帮助。这种方法不会导致任何问题可放心使用,冰河已经亲自测试过了。 ...

    Jaden 评论0 收藏0
  • 【保姆级教程零到精通Git,CodeChina实战

    摘要:因为是全中文的,对一些英语不好的人来说确实是福利。二下载安装下载官网下载地址进去之后,点击点击后就会自动下载了。 文章目录 推荐系列教程,推荐的一定是精选的!一....

    lyning 评论0 收藏0
  • 网络编程 - 收藏集 - 掘金

    摘要:个高级多线程面试题及回答后端掘金在任何面试当中多线程和并发方面的问题都是必不可少的一部分。目前在生产环基于的技术问答网站系统实现后端掘金这一篇博客将详细介绍一个基于的问答网站的实现,有详细的代码。 15 个高级 Java 多线程面试题及回答 - 后端 - 掘金在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多...

    justCoding 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<