自学Python (超详细)

一、什么是Python

Python是一种解释型、高层次的编程语言,是现代软件开发中最受欢迎的选择之一

Python由荷兰程序员吉多·范罗苏姆在1989年圣诞节期间构思并在1991年发布第一个版本。吉多·范罗苏姆设计Python的初衷是创建一种既易于阅读又具备强大功能的语言,这一目标在其命名上就有所体现——得名于英国喜剧团体“蒙提·派森的飞行马戏团”(Monty Python's Flying Circus),范罗苏姆希望这种语言能够与其偶像一样出色。

二、Python的优点

使用Python语言有许多优点,如语法简单、免费开源、功能强大、跨平台兼容性等。以下将详细列举这些优点:

  1. 简洁明了的语法
    • 易读易写:Python的语法设计简洁且清晰,使得编写和阅读代码都变得相对简单。与需要大量符号和格式要求的语言相比,Python通过缩进来定义代码块,不强制在每条语句后加分号。
    • 伪代码特质:Python常被形容为具有伪代码特质的编程语言,意味着其代码看起来就像加了注释的英文段落,这有助于提高代码的可读性和维护性。
  2. 免费且开源的特点
    • 完全免费:Python的使用、分发和修改都是免费的。无论是用于个人还是商业项目,用户都无需支付任何费用。
    • 开源优势:作为开源语言,Python允许任何人查看和改进其源代码。这不仅增强了透明度,还借助全球开发者的共同努力提升了语言的稳定性和性能。
  3. 功能强大的库支持
    • 标准库和第三方库丰富:Python拥有大量内置库,从基本的数据处理到复杂的科学计算,都有现成的模块可供使用。PyPI(Python Package Index)是一个包含超过85,000个Python模块和脚本的资源库,提供了丰富的第三方模块支持。
    • 广泛的应用场景:得益于强大的库支持,Python在人工智能、数据分析、网站开发、自动化运维等多个领域都有广泛应用。
  4. 跨平台的执行能力
    • 良好的移植性:作为一种解释型语言,Python可以在Windows、Linux、macOS等多个操作系统上运行,而无需修改代码。这种跨平台能力使得开发者可以在不同环境下运行同一代码,减少了移植工作量。
  5. 面向对象的特性
    • 灵活的对象模型:Python支持面向对象编程,允许开发者通过类和对象来组织代码,但也不强求必须使用面向对象的方式编写所有代码。这种灵活性让Python既能适应大型项目的复杂需求,也能处理简单的脚本任务。

综上所述,Python凭借其简洁易读的语法、免费开源的特性、强大的库支持、跨平台兼容性以及灵活的面向对象特性,成为了现代编程环境中最受欢迎的语言之一。对于初学者和经验丰富的开发者,Python基本都提供了一个高效、易用且功能强大的开发工具。

三、安装Python

网址:Welcome to Python.org

下载最新版本(安装详细操作请看下一篇笔记)

四、Python注释

单行注释:以#开头,#在右边 (#和注释内容一般建议以一个空格隔开)

​ 多行注释:以一对双引号引起("""注释内容“”“)

五、数据类型

使用type(被查看到数据)语句查看数据类型

*字符串 string  (str)

查看的是变量存储的数据的类型,变量是没有类型的,而存储的数据是有类型的

六、数据类型的转换

int(x) 将x转换成一个整数

float(x)

str(x)

跟type语句一样都是有结果的

七、标识符

指用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名

标识符命名中,只允许出现:*英文 *中文 *数字 *下划线(_)这四类元素

(不推荐使用中文)

(数字不可以开头)

 (不可以使用关键字)

八、运算符、赋值运算符、复合赋值运算符

请点击上一篇笔记内容进行查看

  • 字符串扩展

  1. #1.字符串的三种定义方式
  1. 单引号方式
  2. 双引号方式
  3. 三引号方式

#2.引号的镶嵌

  1. 可以使用:\ 来进行转义
  2. 单引号内可以写双引号或双引号内可以写单引号

  1. #字符串拼接
  1. 字符串是没有办法通过加号和整数进行拼接的(无法和非字符串类型进行拼接)

  1. #字符串格式化

其中的,%s

  1. % 表示:我要占位
  2. S 表示:将变量变成字符串放入占位的地方

综合起来的意思是,我先占个位,等一会有一个变量过来,我把它变成字符串放到占位的位置

多个变量占位,变量要用括号括起来,并按照占位顺序填入,变量之间要用逗号隔开。

最常用的三类

eg:

  1. #格式化的精度控制
  1. m:控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效
  1. .n: 控制小数点精度,要求是数字,会进行小数的四舍五入  

 eg:

  1. %5d:表示将整数的宽度控制5位,如数字11,被设置变成【空格】【空格】【空格】11,用三个空格补足宽度。
  2. %5.2f:表示将宽度控制为5,将小数点精度设置为2

小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f,结果是:【空格【空格】11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入位 .35

  1. %.2f:表示不限制宽度,只设置小数点精度2,如11.345设置%.2f后,结果是11.35

  1. #字符串格式化——快速写法

语法:f”内容{变量}”

特点:不限类型,同时也不管精度控制

  1. #对表达式的格式化

表达式:一条具有明确执行结果的代码语句

eg:

1+1、5*2,就是表达式,因为有具体的结果,结果就是一个数字

在无需使用变量进行数据存储的时候,可以之间格式化表达,简化代码

  1. #数据输入

数据输入:input

  1. 使用input()语句可以从键盘获取输入
  2. 使用一个变量接收(存储)input语句获取的键盘输入数据即可

print语句其实是多余的

Input默认接收的类型永远都是字符串

  • Python判断语句
  1. #布尔类型和比较运算符

定义变量存储布尔类型数据:

变量名称 = 布尔类型字面量

布尔类型不仅可以自行定义,同时也可以通过计算的来。

也就是使用比较运算符进行计较运算得到布尔类型的结果。

  1. #if语句的基本格式

 If 要判断的条件:

条件成立时,要做的事情

  1. #if else 语句的组合用法

 If 条件:

满足条件时要做的事情1

满足条件时要做的事情2

满足条件时要做的事情3

else:

不满足条件时做的事情1

不满足条件时做的事情2

不满足条件时做的事情3

  1. else后,不需要判断条件
  2. 2.else后的需要跟缩进

  1. #if elif else 语句

If 条件1:

条件1满足应做的事情

条件1满足应做的事情

.........

elif 条件2:

条件2满足时应做的事情

条件2满足时应做的事情

...........

elif 条件N:

条件N满足时应做的事情

条件N满足时应做的事情

..........

else:

所有条件都不满足应做的事情

所有条件都不满足应做的事情

........

判断是互斥且有顺序的。

  1. 满足1将不会理会2和3
  2. 满足2即不会理会3
  3. 1、2、3均不满足,进入else
  4. Else也可以省略不写,效果等同于3个独立的if判断

空格缩进都不可省略!!!

  1. #嵌套使用

If 条件1:

满足条件1 做的事情1

满足条件1 做的事情2

If 条件2:

满足条件2 做的事情1

满足条件2 做的事情2

第二个if属于第一个if内,只有第一个if满足条件,才会执行第二个if

通过空格缩进,来决定语句之间的:层次关系

  • 循环语句
  1. #while循环的基础语法

While 条件:

条件满足时,做的事情1

条件满足时,做的事情2

条件满足时,做的事情3

(只要条件满足,会无限循环)

  1. while的条件需要得到布尔类型,true表示继续循环,false表示结束循环
  2. 需要设置循环终止的条件,如i +=1配合i<100,就能确保100次结束后停止,否则将无限循环
  3. 空格缩进和if判断一样,都需要设置

#while循环猜数字

#while循环的嵌套

While条件1:

条件1满足时,做的事情1

条件1满足时,做的事情2

.........

while条件2:

条件2满足时,做的事情1

条件2满足时,做的事情2

..............

#while 循环嵌套案例

不换行

补充知识点-制表符 \t

#for 循环的基础语法

  1. While循环的循环条件是自定义的,自行控制循环条件
  2. for循环是一种“轮询”机制,是对一批内容进行“逐个处理”

待处理的数据集也叫序列

依次取出

For循环是无法定义循环条件的。

只能从被处理的数据集中,依次取出内容进行处理。

所以python的for循环无法构建无限循环(被处理的数据集不可能无限大)

#range语句

序列类型:其内容可以一个一个依次取出的内容,包括:

  1.  字符串
  2.  列表
  3.  元组
  4.  等

  1. rang(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

eg:

rang(5)得到:[10,1,2,3,4]

  1. rang(num1,num)

获取一个从num1开始,到num2结束的数字序列(不含num2本身)

eg:

rang(5,10) 得到:[5,6,7,8,9]

  1. rang(num1,num2,step)

获取一个从num1开始,到num2结束的数字序列(不含num2本身)

数字之间的步长,以step为准(step默认为1)

eg:

rang(5,10,2)得到:[5,7,9]

  • Python列表

Python列表是一种内置数据结构,是包含在方括号【】的元素集合,它们具有许多独特的属性,使它们与其他的数据结构不同。

  • 有序 — 允许使用索引号访问
  • 可变 — 可以添加和删除列表中的元素
  • 重复 — 列表中的元素可重复
  • 异构 — 列表中的元素可以是不同的数据结构

  • Python数组

Python内置了一个array模块,可用在Python中创建数组,虽然数组保留了Python列表的大部分特征,可以包含重复项、有序且可变,但不能存储不同数据类型的元素。

  1. 函数的局部变量

在函数内部,临时保存数据,在函数被调用之后立即销毁变量

  1. 全局变量

将变量定义在函数的外面

 

  1. Global关键字

在函数内声明变量为全局变量

  1. 数据容器

一个变量记录多个数据,容纳的每一份数据成为1个元素

每一个元素,可以是任意类型(字符串,数字,布尔)

  1. List列表

以[ ]作为标识,列表内每个元素之间,用逗号隔开

字符串需要用引号

  1. List列表的下标索引

正向:从0开始,依次递增   

反向:从后往前,从-1开始

嵌套:

取值范围不能超出可用范围,否则报错

  1. 列表的常用操作

Python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法

方法和函数一样,只是方法的使用格式不同

方法多个一个 .

列表的查询功能

  1. 修改特定位置(索引)的元素值

语法:列表[下标] = 修改值

  1. 插入元素(指定位置)

语法:列表.insert(修改后下标,“修改值”)

  1. 追加元素1(列表尾部)

语法:列表.append(追加的元素),将指定元素,追加到列表尾部

  1. 追加元素2

语法:列表.extend([其他数据容器]),将其他数据容器内容取出,依次追加到列表尾部、

  1. 删除元素

语法1:del 列表[下标]

语法2:列表pop(下标)

  1. 删除某元素在列表中第一个匹配项

语法:列表.remove(移除的元素)

从前到后找到的第一个删掉

  1. 清空列表

语法:列表.clear( )

  1. 统计某元素在列表中的数量

语法:列表.count(统计的元素)

  1. 统计列表中有多少元素

语法:len(列表)

  • Numpy计算库

Numpy是一个Python语言的数值计算库,它是用于处理大型多维数组和矩阵操作的工具。它提供了高效的向量化操作,使得科学计算和数据处理变得更加容易和高效。Numpy还提供了许多内置函数和工具,可以用于线性代数、随机数生成、傅里叶变换等计算任务。在机器学习中,Numpy通常用于处理和处理数据,包括数据预处理、特征选择和特征提取等。

  1. 列表的遍历 - while循环

既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作。

将容器内元素依次取出进行处理的行为,成为:遍历、迭代。

  • 可以使用while循环遍历元素
  • 使用列表[下标]的方式取出
  • 定义一个变量表示下标,从0开始
  • 循环条件为下标值<列表的元素数量

While循环和for循环,都是循环语句,但细节不同:

  • 在循环控制上:

   while循环可以自定循环条件,并自行控制

   for循环不可以自定义条件,只可以一个个从容器内取出数据

  • 在无限循环上:

   while循环可以通过控制条件做到无限循环

   for 循环理论上不可以,因为被遍历的容器容量不是无限的

  • 在使用场景上:

   while循环适用于任何想要循环的场景

   for循环使用与,遍历数据容器的场景或简单的固定次数循环的场景

  1. 元组定义

元组定义:定义元组使用小括号,并且使用逗号隔开各个数据,数据可以是不同的数据类型

数据容器:tuple(元组)

列表可以修改;元组一旦定义完成就不能修改,相当于只读模式

定义空元组:

变量名称 = ()或者 变量名称 = tuple()

下标索引去取出内容

 num = 变量名(需要去出的内容的位置)

Index查找 (找出元组内容中的某个元素的下标位置)

Count统计方法(找出元组内容中的每个元素有多少个)

len函数统计元组中元素的个数

元组的遍历:while

 

元组的遍历:for

元组的相关操作-注意事项

不可以修改元组内容,否则直接报错

可以修改元组内的list的内容(修改元素、增加、删除、反转等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值