当前位置: 首页 > article >正文

全网最全python教程,从零到精通(学python有它就够必收藏)_python学习相关博客(1)

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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, 2006
Python 2.6 - October 1, 2008
Python 2.7 - July 3, 2010
Python 3.0 - December 3, 2008
Python 3.1 - June 27, 2009
Python 3.2 - February 20, 2011
Python 3.3 - September 29, 2012
Python 3.4 - March 16, 2014
Python 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 = 10
f = 10.5
b = 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 = 10
print(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 keyword
print(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==b
False
>>> a!=b
True
>>> a>b
False
>>> a<b
True
>>> a>=b
False
>>> a<=b
True
3.1.3. 逻辑运算符

在这里插入图片描述

>>> a=True
>>> b=False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not -1
False
>>> not 0
True
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 = 6
if 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 = 86
python = 68if java > 80 and  python > 80:print('优秀')
else :print('不优秀')

输出结果:

不优秀

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

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

输出结果:

良好

课上练习1

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

课上练习2

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

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

循环语句的一般形式如下:
在这里插入图片描述
Python 提供了 for 循环和 while 循环,当然还有一些控制循环的语句:
在这里插入图片描述

4.2.1. While 循环语句
count = 1
sum = 0
while count <= 100:sum = sum + countcount = count + 1
print(sum)

输出的结果:

5050

当然 while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于跳出本层循环

比如,上面的例子是计算 1 到 100 所有整数的和,当我们需要判断 sum 大于 1000 的时候,不在相加时,可以用到 break ,退出整个循环

count = 1
sum = 0
while  count <= 100:sum = sum + countif  sum > 1000:  #当 sum 大于 1000 的时候退出循环breakcount = count + 1
print(sum)

输出的结果:

1035

有时候,我们只想统计 1 到 100 之间的奇数和,那么也就是说当 count 是偶数,也就是双数的时候,我们需要跳出当次的循环,不想加,这时候可以用到 continue

count = 1
sum = 0
while  count <= 100:if count % 2 == 0:  # 双数时跳过输出count = count + 1continuesum = sum + countcount = count + 1
print(sum)

输出的语句:

2500

在 Python 的 while 循环中,还可以使用 else 语句,while … else 在循环条件为 false 时执行 else 语句块

比如:

count = 0
while count < 5:print (count)count = count + 1
else:print (count)

输出的结果:

0
1
2
3
4
5
4.2.2. for 循环语句

for循环可以遍历任何序列的项目,如一个字符串
它的流程图基本如下:
在这里插入图片描述
基本的语法格式:

for iterating_var in sequence:statements(s)

实例:

for letter in 'www.neuedu.com':print(letter)

输出的结果如下:

w
w
w
.
n
e
u
e
d
u
.
c
o
m
range()函数

Python函数range()让你能够轻松地生成一系列的数字。例如,可以像下面这样使用函数range()来打印一系列的数字:

for value in range(1,5):print(value)

上述代码好像应该打印数字1~5,但实际上它不会打印数字5:

1
2
3
4

在这个示例中,range()只是打印数字1~4,这是你在编程语言中经常看到的差一行为的结果。函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。

要打印数字1~5,需要使用range(1,6):

for value in range(1,6):print(value)

这样,输出将从1开始,到5结束:

    12345
4.2.3. 嵌套循环

Python 语言允许在一个循环体里面嵌入另一个循环。上面的实例也是使用了嵌套循环的。
具体的语法如下:
for 循环嵌套语法

for iterating_var in sequence:for iterating_var in sequence:statements(s)statements(s)

while 循环嵌套语法

while expression:while expression:statement(s)statement(s)

除此之外,你也可以在循环体内嵌入其他的循环体,如在 while 循环中可以嵌入 for 循环, 反之,你可以在 for 循环中嵌入 while 循环

有 while … else 语句,当然也有 for … else 语句啦,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10,20):  # 迭代 10 到 20 之间的数字for i in range(2,num): # 根据因子迭代if num%i == 0:      # 确定第一个因子j=num/i          # 计算第二个因子print ('%d 是一个合数' % num)break            # 跳出当前循环else:                  # 循环的 else 部分print ('%d 是一个质数' % num)

输出的结果:

10 是一个合数
11 是一个质数
12 是一个合数
13 是一个质数
14 是一个合数
15 是一个合数
16 是一个合数
17 是一个质数
18 是一个合数
19 是一个质数

课上案例 打印九九乘法表

# 打印九九乘法表
for i in range(1, 10):for j in range(1, i+1):print('{}x{}={}\t'.format(i, j, i*j), end='')print()
1x1=1   
2x1=2   2x2=4   
3x1=3   3x2=6   3x3=9   
4x1=4   4x2=8   4x3=12  4x4=16  
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25  
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36  
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49  
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64  
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81
4.3. 随机数的处理

在 Python 中,要使用随机数,首先需要导入 随机数 的 模块 —— “工具包”

import random

导入模块后,可以直接在 模块名称 后面敲一个 . ,会提示该模块中包含的所有函数

random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

例如:

random.randint(12, 20)  # 生成的随机数n: 12 <= n <= 20   
random.randint(20, 20)  # 结果永远是 20   
random.randint(20, 10)  # 该语句是错误的,下限必须小于上限

综合练习—猜数字

计算机要求用户输入数值范围的最小值和最大值。计算机随后“思考”出在这个范围之内的一个随机数,并且重复地要求用户猜测这个数,直到用户猜对了。在用户每次进行猜测之后,计算机都会给出一个提示,并且会在这个过程的最后显示出总的猜测次数。这个程序包含了几种类型的我们学过的 Python 语句,例如,输入语句、输出语句、赋值语句、循环和条件语句。
一个可能的游戏过程如下:

Enter the smaller number: 1
Enter the larger number: 20
Enter your guess: 5
Too small
Enter your guess: 9
Too small
Enter your guess: 15
Too small
Enter your guess: 17
Too large
Enter your guess: 16
You've got it in 5 tries!
import randomsmaller = int(input("Enter the smaller number: "))
larger = int(input("Enter the larger number: "))
myNumber = random.randint(smaller, larger)
count = 0
while True:count += 1userNumber = int(input("Enter your guess: "))if userNumber < myNumber:print("Too small")elif userNumber > myNumber:print("Too large")else:print("You've got it in", count, "tries!")break
5.1. 列表定义

列表是Python中内置有序可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开;
一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、字典以及其他自定义类型的对象。
例如:

[1,2,3,2.4,5]
[0.01,"zhangsan",[1,2,3]]

创建
使用“=”直接将一个列表赋值给变量即可创建列表对象。例如:a_list = [],b_list = [1,2,3]
使用list()函数将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表。
例如:a_list = list(“Hello”) 将字符串 “hello” 转换成列表 [‘H’,‘e’,‘l’,‘l’,‘o’]
删除 当不再使用时,使用del命令删除整个列表 例如:

>>>x =[1,2,3]>>>del  x[1]                    #删除指定位置元素>>>x[1,3]>>>del x                        #删除整个列表>>>xTraceback (most recent call last):File "<pyshell#6>", line 1, in <module>xNameError: name 'x' is not defined
5.2. 列表元素的增加
5.2.1. append()

向列表尾部追加一个元素,不改变其内存首地址,属于原地操作。 例如:

>>>x = [1,2,3]>>>x.append(4)>>>x[1,2,3,4]
5.2.2. insert()

向列表任意位置插入一个元素,不改变其内存首地址,属于原地操作。
例如:

>>>x = [1,3,4]
>>>x.insert(1,2)
>>>x
[1,2,3,4]
5.2.3. extend()

将另一个迭代对象的所有元素添加至该列表对象尾部,不改变其内存首地址,属于原地操作。
例如:

>>>x = [1,2]>>>x.extend([3,4])>>>x[1,2,3,4]
5.3. 运算符" + " 和" * "

并不是真的为列表添加元素,而是创建一个新列表,不属于原地操作,而是返回新列表。

>>> x = [1,2,3]
>>>y = x + [4]
>>>y
[1,2,3,4]
>>>y = x*2
>>>y
[1,2,3,4,1,2,3,4]

此时x保持不变,依旧是[1,2,3]

5.4. 列表元素的删除
5.4.1. pop()

使用列表的pop()方法删除并返回指定(默认为最后一个)位置上的元素,如果给定的索引超出了列表的范围则抛出异常。

>>>x = [1,2,3,4]
>>>x.pop()                        #弹出并返回尾部元素
4
>>>x.pop(1)                     #弹出并返回指定位置的元素
>>>2
5.4.2. remove()

删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常。
例如:

>>>x = [1,2,2,3,4]>>>x.remove(2)>>>x[1,2,3,4]
5.4.3. clear()

清空列表。
例如:

>>>x = [1,2,3,4]>>>x.clear()>>>x[ ]
5.4.4. del

删除列表中的指定位置上的元素。
例如:

>>>x = [1,2,3,4]>>>del x[1]>>>x[1,3,4]
5.5. 列表元素访问与计数
5.5.1. count()

统计指定元素在列表对象中出现的次数。
例如:

>>> x =[1,2,3,3,4,5]>>>x.count(3)2>>>x.count(0)0
1.5.2. index()

获取指定元素首次出现的下标,若列表对象中不存在指定元素,则抛出异常。
例如:

>>>x = [1,2,3,2,2,4]>>>x.index(2)1
5.5.3. in

测试列表中是否存在某元素
例如:

>>>x = [1,2,3,4]>>>3 in xTrue>>>5 in xFalse
5.6. 列表排序
5.6.1. sort()

按照指定规则对所有元素进行排序,默认规则是直接比较规则大小。
例如:

>>> aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]>>> import random>>> random.shuffle(aList)                              #随机降序>>> aList[3, 4, 15, 11, 9, 17, 13, 6, 7, 5]>>> aList.sort()                                              #默认是升序排序>>> aList.sort(reverse = True)                       #降序排序>>> aList[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]
5.6.2. reverse()

将列表中所有元素原地逆序排列。

例如:

>>>x = [1,3,2,4,6,5]>>>x.reverse()>>>x[5,6,4,2,3,1]
5.6.3. sorted()

使用内置函数sorted对列表进行排序并返回新列表,不对原列表做任何修改。
例如:

>>>x = [6,4,2,4,1]>>> sorted(x)                                     #升序排序[1,2,4,4,6]>>> sorted(aList,reverse = True)             #降序排序[6,4,4,2,1]>>>x[6,4,2,4,1]
5.6.4. reversed()

返回一个逆序排列后的迭代对象,不对原列表做任何修改。

>>>x =[1,5,3,6,2]>>>list(reversed(x))[2,6,3,5,1]>>>x[1,5,3,6,2]
5.7. 用于序列操作的常用内置函数
5.7.1. len()

返回列表中的元素个数,同样适用于元组、字典、集合、字符串等。

5.7.2. max()、 min()

返回列表中的最大或最小元素,同样适用于元组、字典、集合、range对象等。

5.7.3. sum()

对列表的元素进行求和运算。

5.7.4. zip()

返回可迭代的zip对象。
例如:

>>> aList = [1, 2, 3]>>> bList = [4, 5, 6]>>> cList = zip(a, b)                               #返回zip对象>>> cList<zip object at 0x0000000003728908>>>> list(cList)                                         #把zip对象转换成列表[(1, 4), (2, 5), (3, 6)]
5.7.5. enumerate()

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

http://www.lryc.cn/news/2418213.html

相关文章:

  • mrp下载基地
  • 如何快速开始微信小程序开发?
  • 淘身边VS淘宝跳蚤街: 官方和第三方的基情之战
  • 计算机图形学(四)几何变换_4_二维复合变换_2_矩阵合并特性
  • 原生微信小程序校园活动报名管理系统+后台管理系统
  • 5个步骤,教会企业如何整理有效的常见问题(FAQ)解答页面。运营必看!
  • ajax调用接口
  • 随机视频API接口(其三)
  • 常用的Android几种性能分析工具
  • 深入探索微信公众号开发:Java代码实现与最佳实践
  • VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序)
  • C#中Socket的Accept()和BeginAccept()的区别
  • 小巫随笔14
  • 【附源码】JAVA计算机毕业设计在线考试系统(springboot+mysql+开题+论文)
  • html简单网页代码:期末网页制作 HTML+CSS+JavaScript 个人主页网页设计实例
  • Hadoop大数据平台
  • PCB SI仿真流程
  • Keil报错ST-LINK USB communication error解决方法
  • 网站SEO优化部分原则
  • AI 旅行工具大盘点!31 款 AI 旅行行程规划工具,一键规划旅行路线!
  • PHP+MySQL制作简单动态网站(附详细注释+源码)
  • 单片机加解密原理
  • 【Java】Java的基础入门学习
  • 注意,你注册的假1024可能就是它
  • CDLinux制作U盘启动
  • Delphi控件SPComm改造为Lazarus版本的问题
  • display:block的作用
  • web前端——给某网站移动版主页的体育板块进行布局设计
  • 目前数字人经济大火,但数字人价格成本昂贵,那么数字人免开会员怎么无限时长制作,数字人怎么批量自动生成视频源码开发技术
  • deepnode处理过的图片_微信图文排版用什么软件?文章图片大小不一样排版不齐怎么办?...