python入门----基础

这里写目录标题

  • 重点
    • 虚拟环境
    • /与//的区别
      • /
      • //
    • 关于print
      • 字符串可以用+号拼接
      • 单双引号
      • 转义符
      • 换行
      • 三引号
    • 变量
      • 变量的定义
      • 变量名的命名
    • API库
      • 导库以及使用
    • 注释
      • 单行注释
      • 多行注释
    • 数据类型
      • str
      • bool
      • NoneType
      • type函数
    • 交互模式
      • 介绍
      • 开启
    • input
      • 作用
      • 延伸
    • if-else
    • 条件嵌套语句
    • 逻辑运算符
      • 内容
      • 优先级
    • 列表
      • 表示方法
      • 方法和函数的区别
      • 列表的一些方法
        • 添加
        • 移除
      • 列表的一些函数
      • 列表的独特点
        • 列表可变
        • 可以存放不同类型的数据
        • 求列表元素的个数
        • 列表索引
    • 字典
      • 定义方式以及用途
      • 元组
        • 定义
        • 注意事项
      • 字典的一些操作
        • 添加一个新元素
        • 查看一个键是否存在
        • 删除一个键值对
        • 查看一个字典有多少个键值对
      • 实例
      • 补充
    • for循环
      • 格式
      • 迭代对象
      • 实例1
      • 实例2
      • 实例3
    • for结合range
      • 介绍range
    • while循环
    • 格式化字符串
      • format方法
        • 0、1占位
        • 变量名占位
      • f-字符串
      • 格式化数字
    • 函数
      • 定义格式
      • 补充,sum函数
    • 模块
      • 官方内置函数文档
      • 官方标准库模块函数文档
      • 引用格式
      • 引入方式
      • 第三方模块

重点

虚拟环境

在这里插入图片描述
使用专业版pycharm,在创建项目时,会自动的创建成虚拟环境项目,这样的话,如果我们创建了多个项目,那么不同的项目之间,可以设置不同的仅独立于当前虚拟环境的python解释器以及第三方库

上图就是虚拟环境文件,我们编写python文件时,不要破坏那个venv文件以及他的文件结构与内容,即不要在venv文件夹内操作

/与//的区别

/

在python中,/就是除法,他会像数学运算那样,将结果算到底,但是对于无限小数来说,最多计算到16位,在第17位四舍五入至第16位

//

但是对于//,双斜线来说,他会像c++中的int整除一样,不保留小数位,如下图
在这里插入图片描述

关于print

字符串可以用+号拼接

在这里插入图片描述

单双引号

对于输出一个字符串,我们一般要用双引号进行括住,但是对于py,单引号与双引号的作用在大多数情况下是一致的,也就是对于引用一个字符串,单引号双引号都可以,
同时,单双引号的区别使用,可以帮助编译器区分,如下图,如果你想打印的内容包含双引号,那么就用单引号将其引起来
同理,如果你想打印的内容是单引号,那么就用双引号将其引起来
在这里插入图片描述
在这里插入图片描述

转义符

如果我们想要输出的内容中有单引号也有双引号,那么就要用转义字符反斜杠,将\放在要输出的每个引号前面,这样编译器就知道\后面的引号是要用来输出的,同理的还有+n,表示换行
在这里插入图片描述

换行

在py中,不能直接进行回车,这样会报错,因为py是读一行编译一行,这样的话py读不出来下一行的内容就编译当前行了,所以会报错,想要实现换行的效果,就要使用转义字符\,使用\n表示换行
在这里插入图片描述
在这里插入图片描述

三引号

假如说我们要打印一首诗,那么需要多行的换行操作,非常之麻烦
在这里插入图片描述
这里有个小tip,我们可以使用多个print,因为每个print默认带换行操作
但是还是有更简单的办法:
在这里插入图片描述
使用三引号,三对单引号或者三对双引号,这样的话,我们在编辑代码时的换行就起到了作用,能被编译器看到

变量

变量的定义

定义变量时,无需规定其类型,直接就是变量名=变量值,如下
在这里插入图片描述

变量名的命名

在这里插入图片描述
要注意的是,不要使用拼音,要使用英文单词,遇到不清楚的直接去查就好了
对于py而言 我们建议用下划线命名法,驼峰命名法不常用,但是对于c++,驼峰命名还是较为常用
其他要注意的是:
变量名是对大小写敏感的,大小写不同的变量名,他们是不同的

API库

导库以及使用

在这里插入图片描述
在代码的最上方导入math
之后可以用math去调用他所包含的方法,这种调用方式在c++上被称为静态对象可以直接使用类名调用成员函数

而至于这些库还有哪些其他内容,可以去官方文档查询

补充:
在这里插入图片描述
有了这个我们可以快速的计算平方以及开方,开方计算就是分数的次方,如下图,二分之一次方就是开平方
在这里插入图片描述
当然也可以使用math库的sqrt来开方
在这里插入图片描述

注释

单行注释

#号+空格 就是单行注释

多行注释

在这里插入图片描述
选中多行之后,使用ctrl + /,可以多行注释

在这里插入图片描述
或者三对引号也可以进行多行注释

数据类型

str

字符串类型,他有一个函数是len,用来返回字符串的字符长度,注意,转义字符整体占一个位置,且空格以及其他符号都会计入
在这里插入图片描述

bool

在这里插入图片描述
bool的True与False,要注意 在py中,True与False首字母都是大写

NoneType

在这里插入图片描述
该类型的值是None,他可以用于变量的初始化

type函数

在这里插入图片描述
该函数会返回变量的数据类型

交互模式

介绍

在这里插入图片描述
交互模式不常用,但是可以用于一些小测试

开启

打开交互模式:
在这里插入图片描述
在这里插入图片描述
可以看到三个箭头,表示进入了交互模式

或者cmd,输入python3
在这里插入图片描述
ctrl+d 退出

input

作用

在这里插入图片描述
input是用来读取用户输入的,并且他可以展示给用户一些提示信息,如上图所示,他的返回值就是用户的输入
在这里插入图片描述
但是返回值一律当成字符串来处理,所以可以进行字符串的拼接,但是字符串有时候需要转为整数进行操作,就有了如下延伸

延伸

在这里插入图片描述
int函数,将其他类型的字面是数字的数据转为整数,要注意的是,int是整形,会吞掉小数点

在这里插入图片描述
在这里插入图片描述
主要用于打印时,因为整数无法与字符串直接拼接进行打印,所以将其转为字符串进行打印即可
在这里插入图片描述

if-else

在这里插入图片描述
在这里插入图片描述

条件嵌套语句

在这里插入图片描述

在这里插入图片描述
对于多个elif语句,因为他是自上而下执行,所以,如果条件2、3同时满足,也只会执行条件二,所以,我们常用的是从第一个条件开始往下的条件是依次单调的,即按照一定的顺序进行排除选择的,这样会比较合理,如下图所示
在这里插入图片描述
范围是单调的,他的效果与下图等效
在这里插入图片描述

逻辑运算符

内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
not就相当于c++中的否,!

优先级

在这里插入图片描述
优先级由高到低依次是not and or

当然我们也可以使用括号来改变优先级
在这里插入图片描述

列表

表示方法

在这里插入图片描述

方法和函数的区别

在这里插入图片描述
方法是在类里面定义的成员方法,而函数则是独立的函数

列表的一些方法

添加

在这里插入图片描述

移除

在这里插入图片描述

列表的一些函数

在这里插入图片描述

列表的独特点

列表可变

在这里插入图片描述
关于可变和不可变 如下如所示,既是不可变的数据类型,也就是他在调用了某个方法之后,原变量不会受到影响,方法会返回一个全新的变量
在这里插入图片描述
但是关于可变,如下图,他在调用了自己的方法之后,他自己就发生了变化,不会生成全新的变量,他还是他,只不过是变化后的他
在这里插入图片描述
因此,无需对其重新继续赋值:
在这里插入图片描述

可以存放不同类型的数据

在这里插入图片描述

求列表元素的个数

在这里插入图片描述

列表索引

在这里插入图片描述
在这里插入图片描述

字典

定义方式以及用途

在这里插入图片描述
字典的主要特征是,他使用花括号进行定义

字典的用途是将一些键值对的键集合起来,而想要获取到一个字典中某个键的值,可以使用如下图所示方式
在这里插入图片描述
直接contacts[“键”],需要注意的是,键的类型必须是不可变的
在这里插入图片描述
所以说,列表无法作为键使用
补充:字典也属于可变行列

元组

定义

但是,假设我们有如下问题:
在这里插入图片描述
就是我们在定义字典的时候,需要两个元素形成键,但是列表又因为是可变的无法当做键,所以就出现了问题

这时我们可以用一个新的数据类型:元,他包含多个元素,且是不可变的,可以用作字典的键,他和列表的区别是他是用圆括号定义的
在这里插入图片描述

注意事项

在这里插入图片描述
由于元组不可变,所以添加和删除操作不能进行,但是虽然他不灵活,他却可以当做字典的键进行使用
在这里插入图片描述

字典的一些操作

添加一个新元素

在这里插入图片描述
如果想向字典中添加一个新元素,那么直接contacts[“新键”]=“新值”,如果字典中没有这个键,那么会做添加操作,如果字典中有这个键,那么会进行值覆盖操作

查看一个键是否存在

在这里插入图片描述
“键” in contacts,存在则返回True,否则返回False

删除一个键值对

在这里插入图片描述

查看一个字典有多少个键值对

在这里插入图片描述
len同样适用

实例

在这里插入图片描述
这里要注意一点:键值对都是字符串,所以定义或者添加的时候都要加上双引号,但是如果是从键盘获取的字符串,无需加双引号,因为他已经是个字符串了,py会自己加上双引号,实际上汉字加双引号是一个整体,称为字符串

所以可以看到,在通过键获取值的时候,query仍然不需要加引号,因为py自动加上了引号,使其称为字符串

补充

如果值是想设置为可运算的整数或者浮点数,那么无需加双引号,也就是不一定键值对一定是字符串

for循环

格式

在这里插入图片描述

迭代对象

在这里插入图片描述
对于字符串,会迭代每个字符(包括空格和逗号)

实例1

在这里插入图片描述

实例2

在这里插入图片描述
首先补充:对于字典有三个方法,分别是返回其所有的键、值、键值对
在这里插入图片描述
如果想对字典进行for循环,可以采取上面这种写法,因为当items用于for循环时,其每个元素会成为一个元组被返回出来,上面这种写法,就是将元组的第一个值赋值给第一个变量,第二个值赋值给第二个变量

当然,下面这种写法与上面是等价的,更为直观
在这里插入图片描述

tuple[0]、tuple[1]分别是元组的键和值

实例3

在这里插入图片描述
如果for循环in在单纯的一个字典上 那么是对其键进行的循环

for结合range

介绍range

在这里插入图片描述
range是一个整数序列,里面的两个值分别是起始值和终止值,注意的是左闭右开,如上图

他还可以规定步长,也就是每次加多少(如不作规定,默认为1),下图是步长为2的效果
在这里插入图片描述

while循环

在这里插入图片描述
老规矩,当我们不确定循环的次数时,使用while循环进行循环操作

注意要写条件递增或者递减,不然会进入死循环

格式化字符串

format方法

0、1占位

在这里插入图片描述
{0}、{1}分别代表format里面的两个参数,只要在这个字符串之前,对year和name赋值即可,无论是正常的赋值还是循环赋值都可以,只要他们有值,就会被替换到字符串内
在这里插入图片描述

变量名占位

在这里插入图片描述
当使用变量名进行格式化时,同样的,只要对format里面的name和year提前赋值即可
在这里插入图片描述
更为简便的方法是可以使用同样的名字,心里有区分即可

f-字符串

在这里插入图片描述
使用f方法,在字符串前加上f,之后也是变量名占位,这样的话无需写format,而是直接在此之前对year和name提前赋值

格式化数字

在这里插入图片描述
当然,如果格式化的内容是数字,同样可以办到,格式仍然是上面的0、1占位,然后format里面的参数提前赋值成数字,在占位符上可以对小数点进行规定,使用 冒号+点+几+f
在这里插入图片描述
这个是f-字符串的方式,在字符串前面加f,且占位符可以规定小数点,提前对name和gpa进行赋值

函数

定义格式

在这里插入图片描述

补充,sum函数

在这里插入图片描述
参数为一个列表,会返回求和出来的值

模块

官方内置函数文档

在这里插入图片描述

官方标准库模块函数文档

在这里插入图片描述

引用格式

在这里插入图片描述
其实就是引入官方的API库

引入方式

在这里插入图片描述
推荐第一种和第二种

第一种,就是很常见的,类似于c++中,静态类的引入调用,直接用类名去调用
第二种,就是引入库时,加上要引入的方法或者变量,这样在调用时就不用去用类名去调用了

第三方模块

在这里插入图片描述
这个网站可以对第三方库进行搜索

在这里插入图片描述
使用第三方库的话,在终端进行安装,安装指令是pip install+库的名字(由于电脑联网,直接进行命令安装,他会自动进行下载)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号系统之窗口正弦滤波器

1 Windowed-Sinc 的策略 图 16-1 说明了 windowed-sinc 滤波器背后的思想。在**(a)**中,显示了理想低通滤波器的频率响应。所有低于截止频率 f c f_c fc​ 的频率都以单位振幅通过,而所有较高的频率都被阻挡。通带是完全平坦的,阻带中的衰减…

代码随想录算法训练营第三六天 | 无重叠区间、划分字母区间、合并区间

目录 无重叠区间划分字母区间合并区间 LeetCode 435. 无重叠区间 LeetCode 763.划分字母区间 LeetCode 56. 合并区间 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠…

【linux】体系结构和os管理

冯诺依曼体系结构 输入单元:包括键盘, 鼠标,扫描仪, 写板等 中央处理器(CPU):含有运算器和控制器等 输出单元:显示器,打印机等 这里的存储器指的是内存 三者是相互连接的,设备之间会进行数据的来回拷贝&am…

STM32F1 - I2C读写EEPROM

Inter-integrated circuit 1> 实验概述2> I2C模块 - 硬件方框图3> I2C模块 - 主发送器模式4> I2C模块 - 主接收器模式 1> 实验概述 通过STM32F103内部I2C硬件模块, 读写EEPROM - AT24C02 2> I2C模块 - 硬件方框图 3> I2C模块 - 主发送器模式 4…

GPT-4助力我们突破思维定势

GPT-4在突破思维局限、激发灵感和促进知识交叉融合方面的作用不可小觑,它正逐渐成为一种有力的工具,助力各行业和研究领域的创新与发展。 GPT-4在突破传统思维模式、拓宽创新视野和促进跨学科知识融合方面扮演着越来越重要的角色: 突破思维…

java 数据结构LinkedList类

目录 什么是LinkedList 链表的概念及结构 链表的结构 无头单向非循环链表 addFirst方法(头插法) addLast方法(尾插法) addIndex方法 contains方法 removeAllKey方法 size和clear方法 链表oj题 无头双向非循环链表 ad…

Paper - 使用 CombFold 组合装配实现大型蛋白质复合物的结构预测

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136170304 CombFold: predicting structures of large protein assemblies using a combinatorial assembly algorithm and AlphaFold2 CombFold…

大公司为什么禁止SpringBoot项目使用Tomcat?

原作者:老杨 原文PDF链接:https://topjavaer.cn/advance/excellent-article/28-springboot-forbid-tomcat.html 前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat…

ClickHouse监控及备份

第1章 ClickHouse监控概述 第2章 Prometheus&Grafana的安装 第3章 ClickHouse配置 第4章 Grafana集成Prometheus 第5章 备份及恢复

【C语言】位操作符与移位操作符练习

目录 前言: 1.一道变态的面试题 2.输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 方法一: 方法二: 方法三: 3.打印整数二进制的奇数位和偶数位 前言: 前篇我们学习过C语言…

【开源】JAVA+Vue.js实现城市桥梁道路管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统,支持…

C#分部类、分割类的用法,及用分割类设计一个计算器

目录 一、涉及到的知识点 1.分部类 2.分部类主要应用在以下两个方面 3.合理使用分部类分割类 4.事件处理程序 5.Math.Ceiling方法 6.Text.Contains() 7.pictureBox.Tag属性 二、实例 1.源码 2.生成效果 在开发一些大型项目或者特殊部署时,可能需要…

MySQL的基础架构

文章目录 前言MySQL的基础架构总结 前言 你使用 MySQL 开发,你知道 MySQL 的基础架构吗?本文带你来入门MySQL 的基础架构 MySQL的基础架构 MySQL 是我们经常使用到的数据库。它的基础架构分为 server 层与存储引擎层。 server 层:用于存储…

(十九)springboot实战——springboot集成redis实现消息的订阅与发布

前言 本节内容主要介绍springboot项目通过集成redis,如何利用redis的订阅发布机制,完成系统消息的发布与订阅功能。Redis中的发布与订阅是一种消息通信模式,允许发送者(发布者)将消息发送给多个接收者(订…

小型医院医疗设备管理系统|基于springboot小型医院医疗设备管理系统设计与实现(源码+数据库+文档)

小型医院医疗设备管理系统目录 目录 基于springboot小型医院医疗设备管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、职员信息管理 2、设备信息管理 3、库房信息管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

2.15日学习打卡----初学Zookeeper(二)

2.15日学习打卡 目录: 2.15日学习打卡一. Zookeeper部署运行伪集群安装集群安装服务管理 二. Zookeeper系统模型数据模型节点特性客户端命令行节点数据信息Watcher监听机制权限控制 ACL 三. 原生api操作Zookeeper四. zkclient库操作Zookeeper五. Apache Curator操作Zookeeper六…

『论文阅读|研究用于视障人士户外障碍物检测的 YOLO 模型』

研究用于视障人士户外障碍物检测的 YOLO 模型 摘要1 引言2 相关工作2.1 障碍物检测的相关工作2.2 物体检测和其他基于CNN的模型 3 问题的提出4 方法4.1 YOLO4.2 YOLOv54.3 YOLOv64.4 YOLOv74.5 YOLOv84.6 YOLO-NAS 5 实验和结果5.1 数据集和预处理5.2 训练和实现细节5.3 性能指…

【内网穿透】如何在小米4A中刷OpenWRT并实现公网访问本地路由器

文章目录 前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 前言 OpenWRT是一个高度模块化、高度自…

motplotlib图例案例1:通过多个legend完全控制图例显示顺序(指定按行排序 or 按列排序)

这个方法的核心,是手动的获得图中的handlers和labels,然后对它们进行切分和提取,最后分为几个legend进行显示。代码如下: 后来对下面的代码进行修改,通过handlers, labels get_legend_handles_labels(axs[axis])自动的…

新年红包的题解

目录 原题描述: 题目描述 题目背景 题目描述 输入格式 输出格式 样例 Input 1 Output 1 Input 2 Output 2 数据范围 主要思路: 代码code: 原题描述: 题目描述 题目背景 龙飞凤舞迎跨年,瑞雪飘飘送祝愿…