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

Python-第二天 Python基础语法

Python-第二天 Python基础语法

  • 一、 字面量
    • 1.1 常用的值类型
      • 1.1.1 字符串(string)
  • 二、注释
    • 2.1 注释的作用
    • 2.2 注释的分类
  • 三、变量
      • 3.1 什么是变量
      • 3.2 变量的特征
  • 四、数据类型
    • 4.1 数据类型
    • 4.2 type()语句
    • 4.3 type()语句的使用方式
    • 4.4 变量有类型吗?
    • 4.5 字符串类型的不同定义方式
  • 五、数据类型转换
    • 5.1 为什么要转换类型
    • 5.2 常见的转换语句
    • 5.3 类型转换注意事项
  • 六、标识符
    • 6.1 什么是标识符
    • 6.2 标识符命名规则
      • 6.2.1 标识符命名规则 - 内容限定
      • 6.2.2 标识符命名规则 - 大小写敏感
      • 6.2.3 标识符命名规则 - 不可使用关键字
    • 6.3 变量命名规范
  • 七、 运算符
    • 7.1 算术(数学)运算符
    • 7.2 算术运算符的演示
    • 7.3 赋值运算符
    • 7.4 复合赋值运算符
  • 八、字符串扩展
    • 8.1 字符串的引号嵌套
    • 8.2 字符串拼接
    • 8.3 字符串格式化
    • 8.4 格式化的精度控制
    • 8.5 字符串格式化方式2
    • 8.6 对表达式进行格式化
    • 8.7 练习:股价计算小程序
  • 九、数据输入

一、 字面量

字面量:在代码中,被写下来的的固定的值,称之为字面量

1.1 常用的值类型

Python中常用的有6种值(数据)的类型

在这里插入图片描述

1.1.1 字符串(string)

字符串,又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串
如:
• “黑马程序员”
• “学Python来黑马”
• “!@#$%^&”
• “传智教育的股票代码是:003032”

Python中,字符串需要用双引号(")包围起来被引号包围起来的,都是字符串

二、注释

2.1 注释的作用

注释:在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。

2.2 注释的分类

单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。
在这里插入图片描述

多行注释: 通过一对三个引号来定义(“”“注释内容”“”),引号内部均是注释,可以换行

在这里插入图片描述

三、变量

3.1 什么是变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的。

3.2 变量的特征

变量,从名字中可以看出,表示“量”是可变的。
所以,变量的特征就是,变量存储的数据,是可以发生改变的。

变量的目的是存储运行过程的数据
存储的目的是为了:重复使用

四、数据类型

4.1 数据类型

在学习字面量的时候,我们了解到:数据是有类型的。
目前在入门阶段,我们主要接触如下三类数据类型:
string、int、float这三个英文单词,就是类型的标准名称。
在这里插入图片描述

4.2 type()语句

我们可以通过type()语句来得到数据的类型:
语法:

type(被查看类型的数据)

4.3 type()语句的使用方式

  1. 在print语句中,直接输出类型信息:
    在这里插入图片描述

  2. 用变量存储type()的结果(返回值):

在这里插入图片描述
3. 查看变量中存储的数据类型

在这里插入图片描述

4.4 变量有类型吗?

我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。

4.5 字符串类型的不同定义方式

字符串有3种不同的定义方式:
双引号

"字符串"

单引号

 '字符串'

三引号

"""字符串"""

在这里插入图片描述

三引号定义法,表示在一堆三个双引号的范围内,均是字符串,如下:
要注意的是,包含范围是:从三个引号开始,到下一个三个引号结束

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

五、数据类型转换

5.1 为什么要转换类型

数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
那么,我们为什么要转换它们呢?
数据类型转换,将会是我们以后经常使用的功能。
如:
• 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
• 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
• 将数字转换成字符串用以写出到外部系统

5.2 常见的转换语句

同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值)
我们可以用print直接输出
或用变量存储结果值
在这里插入图片描述

5.3 类型转换注意事项

类型转换不是万能的,毕竟强扭的瓜不会甜,我们需要注意:

  1. 任何类型,都可以通过str(),转换成字符串
  2. 字符串内必须真的是数字,才可以将字符串转换为数字

在这里插入图片描述

六、标识符

6.1 什么是标识符

在Python程序中,我们可以给很多东西起名字,比如:

  • 变量的名字
  • 方法的名字
  • 类的名字,等等

这些名字,我们把它统一的称之为标识符,用来做内容的标识。
所以,标识符:

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

6.2 标识符命名规则

Python中,标识符命名的规则主要有3类:

  • 内容限定
  • 大小写敏感
  • 不可使用关键字

6.2.1 标识符命名规则 - 内容限定

标识符命名中,只允许出现:

  • 英文
  • 中文
  • 数字
  • 下划线(_)

这四类元素。
其余任何内容都不被允许。

6.2.2 标识符命名规则 - 大小写敏感

以定义变量为例:
Andy = “安迪1”
andy = “安迪2”
字母a的大写和小写,是完全能够区分的。

在这里插入图片描述

6.2.3 标识符命名规则 - 不可使用关键字

Python中有一系列单词,称之为关键字,关键字在Python中都有特定用途
我们不可以使用它们作为标识符。
在这里插入图片描述

6.3 变量命名规范

学完了标识符(变量、类、方法)的命名规则后,我们在来学习标识符的命名规范。

  • 变量名
  • 类名
  • 方法名

不同的标识符,有不同的规范。

我们目前只接触到了:变量。所以,目前学习:变量的命名规范。

  • 见名知意
  • 下划线命名法
  • 英文字母全小写

变量命名规范 - 见名知意

变量的命名要做到:

  • 明了:尽量做到,看到名字,就知道是什么意思
  • 简洁:尽量在确保“明了”的前提下,减少名字的长度

变量命名规范 - 下划线命名法
多个单词组合变量名,要使用下划线做分隔。

变量命名规范 - 英文字母全小写

命名变量中的英文字母,应全部小写。

七、 运算符

7.1 算术(数学)运算符

在这里插入图片描述

7.2 算术运算符的演示

在这里插入图片描述

7.3 赋值运算符

在这里插入图片描述

7.4 复合赋值运算符

在这里插入图片描述

八、字符串扩展

8.1 字符串的引号嵌套

思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?

  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转移字符(\)来将引号解除效用,变成普通字符串

8.2 字符串拼接

如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,如:

print("学IT来黑马" + "月薪过万")

输出结果:
在这里插入图片描述

不过一般,单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接,如:
在这里插入图片描述
在这里插入图片描述

8.3 字符串格式化

在这里插入图片描述
其中的,%s

  • % 表示:我要占位
  • s 表示:将变量变成字符串放入占位的地方

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

多个变量占位变量要用括号括起来并按照占位的顺序填入
在这里插入图片描述
Python中,其实支持非常多的数据类型占位,最常用的是如下三类
在这里插入图片描述
如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位
在这里插入图片描述

8.4 格式化的精度控制

字符串格式化 - 数字精度控制

我们可以使用辅助符号"m.n"来控制数据的宽度和精度

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

示例:

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。

  • %5.2f:表示将宽度控制为5,将小数点精度设置为2小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35

  • %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
    在这里插入图片描述

8.5 字符串格式化方式2

字符串格式化 - 快速写法

这种写法不做精度控制,也不理会类型,适用于快速格式化字符串

通过语法:f"内容{变量}"的格式来快速格式化

在这里插入图片描述

8.6 对表达式进行格式化

字符串格式化 - 表达式的格式化

刚刚的演示,都是基于变量的。

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

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

又或者,常见的变量定义:

name = “张三” age = 11 + 11

等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量。

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

  • f"{表达式}"

  • “%s%d%f” % (表达式、表达式、表达式)

在这里插入图片描述

8.7 练习:股价计算小程序

在这里插入图片描述

name = '传智播客'
stock_price = 19.99
stock_code = '003032'
stock_price_daily_growth_factor = 1.2
growth_days = 7n_stock_price=stock_price*stock_price_daily_growth_factor**growth_days
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%.1f,经过%d天增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor,growth_days,n_stock_price))

九、数据输入

获取键盘输入 input语句(函数)

我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。

在Python中,与之对应的还有一个input语句,用来获取键盘输入。

  • 数据输出:print

  • 数据输入:input

使用上也非常简单:

  • 使用input()语句可以从键盘获取输入
  • 使用一个变量接收(存储)input语句获取的键盘输入数据即可
    在这里插入图片描述

在前面的代码中,输出”请告诉我你是谁?“的print语句其实是多余的
在这里插入图片描述

input()语句其实是可以在要求使用者输入内容前,输出提示内容,方式如下:

如图,在input的括号内直接填入提示内容即可。

在这里插入图片描述

无论键盘输入何种类型的数据,最终的结果都是:字符串类型的数据

相关文章:

Python-第二天 Python基础语法

Python-第二天 Python基础语法一、 字面量1.1 常用的值类型1.1.1 字符串(string)二、注释2.1 注释的作用2.2 注释的分类三、变量3.1 什么是变量3.2 变量的特征四、数据类型4.1 数据类型4.2 type()语句4.3 type()语句的使用方式4.4 变量有类型吗&#xff…...

命令模式包含哪些主要角色?怎样实现命令?

命令模式包含以下主要角色:抽象命令类(Command)角色: 定义命令的接口,声明执行的方法。具体命令(Concrete Command)角色:具体的命令,实现命令接口;通常会持有…...

SpringCloud-Feign

Spring Cloud中集成Feign (只是笔记而已 其中有点命名啥的不对应,搜到了就划走吧) Feign--[feɪn]:Web 服务客户端,能够简化 HTTP 接口的调用。 没有Feign的之前服务提供者 package com.springcloudprovide.controller;import com.springclo…...

XCP实战系列介绍08-基于Vehicle Spy进行XCP测量的工程配置详解

本文框架 1.概述2. 工程配置步骤2.1 创建MEP工程2.1.1 添加A2L文件2.1.2 CAN收发ID配置2.2 MEP属性设置2.2.1 ECU属性设置2.2.2 MEP的Security设置2.3 DAQ设置2.3.1创建DAQ2.3.2 list中测量及标定量的添加和设置2.3.3 设置DAQ list中变量的event1.概述 在前面一篇文章《看了就…...

JVM调优几款好用的内存分析工具

对于高并发访问量的电商、物联网、金融、社交等系统来说,JVM内存优化是非常有必要的,可以提高系统的吞吐量和性能。通常调优的首选方式是减少FGC次数或者FGC时间,以避免系统过多地暂停。FGC达到理想值后,比如一天或者两天触发一次…...

Vue中路由缓存及activated与deactivated的详解

目录前言一,路由缓存1.1 引子1.2 路由缓存的方法1.2.1 keep-alive1.2.2 keep-alive标签中的include属性1.2.3 include中多组件的配置二,activated与deactivated2.1 引子2.2 介绍activated与deactivated2.3 解决需求三,整体代码总结前言 在Vu…...

【漏洞复现】phpStudy 小皮 Windows面板 RCE漏洞

文章目录前言一、漏洞描述二、漏洞复现前言 本篇文章仅用于漏洞复现研究和学习,切勿从事非法攻击行为,切记! 一、漏洞描述 Phpstudy小皮面板存在RCE漏洞,通过分析和复现方式发现其实本质上是一个存储型XSS漏洞导致的RCE。通过系…...

跨域小样本系列2:常用数据集与任务设定详解

来源:投稿 作者:橡皮 编辑:学姐 带你学习跨域小样本系列1-简介篇 跨域小样本系列2-常用数据集与任务设定详解(本篇) 跨域小样本系列3:元学习方法解决CDFSL以及两篇SOTA论文讲解 跨域小样本系列4&#xf…...

HTML浪漫动态表白代码+音乐(附源码)

HTML浪漫表白求爱(附源码)&#xff0c;内含4款浪漫的表白源码&#xff0c;可用于520&#xff0c;情人节&#xff0c;生日&#xff0c;求爱场景&#xff0c;下载直接使用。 直接上源码吧 一.红色爱心 1.效果 实际效果是动态的哦 2.源码 复制粘贴即可运行哦 <!DOCTYPE…...

The last packet sent successfully to the server was 0 milliseconds ago. 解决办法

mybatis-generator-maven-plugin插件The last packet sent successfully to the server was 0 milliseconds agoYou must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to…...

分布式高级篇1 —— 全文检索

Elasticsearch Elasticsearch简介一、基本概念1、index(索引)2、Type(类型)3、Document(文档)4、倒排索引二、Docker 安装 EL1、拉取镜像2、创建实例三、初步探索1、_cat2、索引一个文档(保存)3、查询文档3、更新文档4、删除文档&索引5、_bulk 批量 AP6、样本测试数据四、进…...

集成电路开发及应用-模拟数字部分专栏目录

三角波发生器电路图分析_XMJYBY的博客-CSDN博客运算放大器正反馈负反馈判别法_如何理解运算放大器的反馈机制,分哪几种_XMJYBY的博客-CSDN博客运算放大器实现多路同向反向加减运算电路公式推导(一)_反向减法运算电路_XMJYBY的博客-CSDN博客运算放大器实现多路同向反向加减运算电…...

ios使用SARUnArchiveANY 解压rar文件(oc和swift版本)

SARUnArchiveANY简介 开源库网址&#xff1a; https://github.com/saru2020/SARUnArchiveANY 简介&#xff1a; 一个iOS的非常有用的库来解压zip&#xff0c;.rar&#xff0c;7z文件。 他是以下库的简单集成&#xff1a; UnrarKitSSZipArchiveLzmaSDKObjC (7z) 需要注意的是…...

【Python学习笔记】21.Python3 函数(2)

前言 本章介绍调用函数时可使用的正式参数。 参数 以下是调用函数时可使用的正式参数类型&#xff1a; 必需参数关键字参数默认参数不定长参数 必需参数 必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 调用 printme() 函数&#xff0c;你必须传入一…...

day57回文子串_最长回文子序列

力扣647.回文子串 题目链接&#xff1a;https://leetcode.cn/problems/palindromic-substrings/ 思路 dp数组含义 dp[i][j]:以s[i]为开头&#xff0c;s[j]为结尾的子串是否是回文子串 递推公式 子串范围为[i,j]&#xff0c;当s[i]s[j]时&#xff0c;有三种情况&#xff1…...

Element UI框架学习篇(二)

Element UI框架学习篇(二) 1 整体布局 1.1 前提说明 el-container标签里面的标签默认是从左往右排列,若想要从上往下排列,只需要写el-header或者el-footer就行了 <el-container>&#xff1a;外层容器 <el-header>&#xff1a;顶栏容器。 <el-aside>&#…...

【C++】类与对象(上)

文章目录一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装①访问限定符②封装五、类的作用域六、类的实例化七、类对象模型①如何计算类对象大小②类对象的存储方式③结构体中内存对齐规则八、this指针①this指针的引出②this指针的特性一、面…...

Leetcode.1797 设计一个验证系统

题目链接 Leetcode.1797 设计一个验证系统 Rating : 1534 题目描述 你需要设计一个包含验证码的验证系统。每一次验证中&#xff0c;用户会收到一个新的验证码&#xff0c;这个验证码在 currentTime时刻之后 timeToLive秒过期。如果验证码被更新了&#xff0c;那么它会在 curr…...

Kaldi - 数据文件准备

文章目录数据文件准备wav.scputt2spkspk2utttext相关代码根据文件生成 utt2spk 和 wav.scputt2spk -- spk2utt 转换数据文件准备 在训练/解码中&#xff1a; 有三个文件是必要的&#xff1a; wav.scp 语音编号 – 路径信息utt2spk 语音编号 – 说话人编号spk2utt 说话人编号 …...

91.【SpringBoot-03】

SpringBoot-03(十四)、任务1.异步任务2.邮件任务(1).简单邮箱发送(2).复杂邮箱发送3.定时任务(1).cron表达式(2).特殊表达式(3).定时任务测试(4).常用cron表达式(十五)、Dubbo和Zookeeper集成1.分布式原理(1).Dubbo文档2.什么是RPC?3.Dubbo的概念和介绍(1).Dubbo是什么(2). Du…...

【本地项目】上传到【GitLab】流程详解

文章目录1、安装Git2、创建GitLab项目文件夹3、创建密钥4、向GitLab上传项目注意&#xff1a;本篇文章中提到的上传流程所需要的命令&#xff0c;几乎在GitLab的Command line instructions中都有所记载 1、安装Git 具体安装流程这里不做过多说明&#xff0c;安装流程可以参考…...

初阶指针C

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 目录 &#x1f430;指针是什么 &#x1f430;指针和指针类型 &#x1f338;指针-整数 &#x…...

云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征

随着云计算技术的蓬勃发展&#xff0c;传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展&#xff0c;成为赋能业务创新的重要推动力&#xff0c;并已经应用到企业核心业务。然而&#xff0c;云原生技…...

json文件在faster_rcnn中从测试到训练 可行性

1.确认任务 经过mydataset文件处理后 - > 在train_res50_fpn文件内应用 # load train data set # VOCdevkit -> VOC2012 -> ImageSets -> Main -> train.txt train_dataset VOCDataSet(VOC_root, "2012", data_transform["train"], &…...

golang 1.20正式发布,更好更易更强

预期中的Go 2不会有了&#xff0c;1.20也算是一个小gap&#xff0c;从中可以一窥Go未来的发展之路。对于Go来说&#xff0c;未来保持1.x持续演进和兼容性之外&#xff0c;重点就是让Go性能更优&#xff0c;同时保持大道至简原则&#xff0c;使用尽可能容易&#xff0c;从这两个…...

图片显示一半怎么回事?

不知道小伙伴是否遇到过&#xff0c;刚刚上传的一个文件夹&#xff0c;有一多半的图片突然就变成了无法显示该图片或者是图片显示一半&#xff0c;而另外一半就显示灰色蓝色粉色条状。而且还把原文件删除了。面对这种情况&#xff0c;有什么解决方法呢?下面让我们一起来来看看…...

102-并发编程详解(中篇)

这里续写上一章博客 Phaser新特性 &#xff1a; 特性1&#xff1a;动态调整线程个数 CyclicBarrier 所要同步的线程个数是在构造方法中指定的&#xff0c;之后不能更改&#xff0c;而 Phaser 可以在运行期间动态地 调整要同步的线程个数&#xff0c;Phaser 提供了下面这些方…...

jsp羽毛球场馆管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 羽毛球场馆管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;…...

CacheLib 原理说明

CacheLib 介绍 CacheLib 是 facebook 开源的一个用于访问和管理缓存数据的 C 库。它是一个线程安全的 API&#xff0c;使开发人员能够构建和自定义可扩展的并发缓存。 主要功能&#xff1a; 实现了针对 DRAM 和 NVM 的混合缓存&#xff0c;可以将从 DRAM 驱逐的缓存数据持久…...

【dapr】服务调用(Service Invokation) - app id的解析

逻辑图解 上图来自Dapr官网教程&#xff0c;其中Checkout是一个服务&#xff0c;负责生成订单号&#xff0c; Order Processor是另一个服务&#xff0c;负责处理订单。Checkout服务需要调用Order Processor的API&#xff0c; 让Order Processor获取到其生成的订单号并进行处理。…...

个人网站设计提纲/推广普通话心得体会

均值为0&#xff0c;方差为0.01 均值为0&#xff0c;方差为0.09 代码如下&#xff1a; %imnoise demo f imread(cameraman.tif); %fnoise imnoise(f, gaussian); %增加均值为0&#xff0c; 方差为0.01得噪声 fnoise imnoise(f, gaussian, 128); %增加均值为2&#xff0c; …...

开源php企业网站/精准营销系统价值

1、内联接&#xff08;典型的联接运算&#xff0c;使用像 或 <> 之类的比较运算符&#xff09;。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如&#xff0c;检索 students和courses表中学生标识号相同的所有行。 …...

怎么查有做网站的公司有哪些/seo 知乎

zebra http://www.zebra.org/ quagga http://www.quagga.net/...

做网站英语老师的简历/seo搜索引擎官网

...

湛江网站建设外包/seo专业实战培训

摘要&#xff1a;虚拟机Apache设置很多用户都遇到过&#xff0c;具体如何进行虚拟机Apache设置&#xff1f;怎样才能让虚拟机Apache设置达到最简单&#xff0c;最优化&#xff1f;本文为您讲解。Apache虚拟机设置有两种方法&#xff1a; 基于主机名的虚拟主机(一个IP地址&#…...

小程序一般需要多少钱/百度优化教程

vCPU&#xff0c;顾名思义&#xff0c;是虚拟CPU。 创建虚拟机时&#xff0c;需求配置vCPU资源。 因而vCPU是虚拟机的部件。 因而脱离VM&#xff0c;议论vCPU是没有意义的。虚拟化办理体系怎么调度vCPU&#xff0c;取决于体系内的虚拟机数目以及虚拟机配置的vCPU的情况。大致的…...