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.mfbz.cn/a/395581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

世界顶级名校计算机专业,都在用哪些书当教材?

前言 在当今信息化、数字化时代,计算机科学已成为全球最为热门和重要的学科之一。世界顶级名校的计算机专业,更是培养未来行业领袖和创新人才的重要基地。那么,这些名校的计算机专业究竟使用哪些教材呢?这些教材又具有哪些特色和…

11. Springboot集成Dubbo3(二)示例demo

目录 1、前言 2、注册中心 3、快速开始 3.1、添加dubbo3依赖 3.2、dubbo3-api ​编辑 3.3、dubbo3-server 3.3.1、添加依赖 3.3.2、实现IUserService 3.3.3、添加配置文件application.properties 3.3.4、修改Application启动类 3.3.5、出错解决 3.4、dubbo3-porta…

Golang 更严格的代码格式化工具 gofumpt

一、前言 gofmt 是 golang 自带的代码自动格式化工具,是保证 Go 代码风格一致的大杀器。我们这次要推荐的 gofumpt 在 gofmt 的基础上添加了一系列更加严格的格式化规则,并保证了对 gofmt 的兼容。 二、gofumpt 简介 gofumpt(https://github.com/mvda…

职业性格在求职应聘和跳槽中的作用

性格测试对跳槽者的影响大不大?首先我们要弄清楚两个问题,性格对我们的职业生涯又没有影响,性格测试是什么,职场中有哪些应用?性格可以说从生下来就有了,随着我们的成长,我们的性格也越来越根深…

2024开工大吉,便宜寄快递该怎么选呢?

随着春节的结束,大部分人回到了工作的岗位,相信许多人还沉浸在过年的喜悦的氛围中呢,但是我们可以期盼下一个春节的到来了,言归正传,工作中总会收发快递了,尤其是最近,需要联络客户的感情了&…

串口通信功能介绍和配置

用户GPIO中其实很多IO口可以复用成串口功能(可查看复用定义表),但是我们这里按照默认定义所以只对8脚、9脚进行复用测试,引脚定义入下图: 硬件连接 测试串口我们需要一个串口调试工具,可以使用串口烧录工具…

练习题解(关于最短路径)

目录 1.租用游艇 2.邮递员送信 3.【模板】单源最短路径(标准版) 1.租用游艇 P1359 租用游艇 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 输入数据: 3 5 15 7 因为这道题数据不大,所有我们直接使用Floyd 算法。 这道题大…

解决传统单一模态难题!多模态图学习新SOTA来了!

多模态图学习是一种结合了图神经网络和多模态数据集成的学习方法,它涉及了数据科学、机器学习、图神经网络、多模态分析等多个前沿领域。这种跨学科特性为我们提供了丰富的创新点和探索空间。因此,多模态图学习也是发表高质量论文的好方向。 通过整合和…

BUGKU-WEB 留言板1

题目描述 题目截图如下: 进入场景看看: 解题思路 之间写过一题类似的,所以这题应该是有什么不同的那就按照之前的思路进行测试试试提示说:需要xss平台接收flag,这个和之前说的提示一样 相关工具 xss平台&#xf…

小米4A路由器如何刷OpenWRT并结合内网穿透实现公网远程访问

文章目录 推荐前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 推荐 前些天发现了一个巨牛的人工智…

《汇编语言》- 读书笔记 - 第10章-CALL 和 RET 指令

《汇编语言》- 读书笔记 - 第10章-CALL 和 RET 指令 10.1 ret 和 retf检测点 10.1 10.2 call 指令10.3 依据位移进行转移的 call 指令检测点 10.2 10.4 转移的目的地址在指令中的 call 指令检测点 10.3 10.5 转移地址在寄存器中的 call 指令10.6 转移地址在内存中的 call 指令检…

【shell】2、Makefile

文章目录 一、变量1.1 定义简单变量1.2 定义数组1.3 引用变量1.4 规则中定义变量 一、变量 1.1 定义简单变量 用变量名 值的语法来定义变量。这些变量可以用于存储命令、文件名、目录路径等信息,以便在Makefile规则中重复使用 # 定义一个变量 VAR_NAME value# …

Latent Diffusion Models / Stable Diffusion(LDM)

High-Resolution Image Synthesis with Latent Diffusion Models(CVPR 2022)https://arxiv.org/abs/2112.10752latent-diffusionstable-diffusion cross-attention(用于多模态任务) Cross-attention vs Self-attention&#xff…

MC10T1S-10BASE-T1S车载以太网转换器

更多资讯可以查看官网或者联系我们http://www.hdn-vdo.com

Java+Swing+Txt实现通讯录管理系统

目录 一、系统介绍 1.开发环境 2.技术选型 3.功能模块 4.系统功能 1.系统登录 2.查看联系人 3.新增联系人 4.修改联系人 5.删除联系人 5.工程结构 二、系统展示 1.登录页面 2.主页面 3.查看联系人 4.新增联系人 5.修改联系人 三、部分代码 Login FileUtils …

不知如何获取1688工厂档案信息,你还在为此烦恼吗?

阿里巴巴集团旗下的B2B电子商务网站,提供海量优质商品,为采购商和供应商提供交流、合作、采购等服务,是很多没有货源优势的电商卖家首选的货源途径,也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要1…

SpringBoot源码解读与原理分析(五)SpringBoot的装配机制

文章目录 2.5 Spring Boot的装配机制2.5.1 ComponentScan2.5.1.1 ComponentScan的基本使用方法2.5.1.2 TypeExcludeFilter(类型排除过滤器)2.5.1.3 AutoConfigurationExcludeFilter(自动配置类排除过滤器) 2.5.2 SpringBootConfiguration2.5.3 EnableAutoConfiguration2.5.3.1 …

Vue3中 状态管理器 ( Pinia ) 详解及使用

传送门: Vue中 状态管理器(vuex)详解及应用场景 传送门:Pinia 中文文档 注意:本文项目使用脚手架为 Vite; 1. 前言 Pinia 对比 Vuex Pinia 同时支持 Vue2 以及 Vue3 ,这让同时使用两个版本的…

QT串口通讯上位机_数据超时接收功能及定时发送功能设计

目录 1.概述2.本次内容最终实现3.代码部分4.完整工程文件下载 1.概述 基于《串口开发基础》 在该基础上增加超时时间接收功能,加入定时器循环; 例如,接收数据开始后,在100ms内未接收到任何数据,视作本次数据接收结束&…

谁才是真正的凶手?

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。!a B说:是C。c C说:是D。d D说:C在胡说!d 已知3个人说了真话,1个人说的是假话。 现在请根据…