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()语句的使用方式
-
在print语句中,直接输出类型信息:
-
用变量存储type()的结果(返回值):
3. 查看变量中存储的数据类型
4.4 变量有类型吗?
我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
4.5 字符串类型的不同定义方式
字符串有3种不同的定义方式:
双引号
"字符串"
单引号
'字符串'
三引号
"""字符串"""
三引号定义法,表示在一堆三个双引号的范围内,均是字符串,如下:
要注意的是,包含范围是:从三个引号开始,到下一个三个引号结束
五、数据类型转换
5.1 为什么要转换类型
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
那么,我们为什么要转换它们呢?
数据类型转换,将会是我们以后经常使用的功能。
如:
• 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
• 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
• 将数字转换成字符串用以写出到外部系统
5.2 常见的转换语句
同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值)
我们可以用print直接输出
或用变量存储结果值
5.3 类型转换注意事项
类型转换不是万能的,毕竟强扭的瓜不会甜,我们需要注意:
- 任何类型,都可以通过str(),转换成字符串
- 字符串内必须真的是数字,才可以将字符串转换为数字
六、标识符
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 变量有类型吗ÿ…...
命令模式包含哪些主要角色?怎样实现命令?
命令模式包含以下主要角色:抽象命令类(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…...
HTML浪漫动态表白代码+音乐(附源码)
HTML浪漫表白求爱(附源码),内含4款浪漫的表白源码,可用于520,情人节,生日,求爱场景,下载直接使用。 直接上源码吧 一.红色爱心 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简介 开源库网址: https://github.com/saru2020/SARUnArchiveANY 简介: 一个iOS的非常有用的库来解压zip,.rar,7z文件。 他是以下库的简单集成: UnrarKitSSZipArchiveLzmaSDKObjC (7z) 需要注意的是…...
【Python学习笔记】21.Python3 函数(2)
前言 本章介绍调用函数时可使用的正式参数。 参数 以下是调用函数时可使用的正式参数类型: 必需参数关键字参数默认参数不定长参数 必需参数 必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 调用 printme() 函数,你必须传入一…...
day57回文子串_最长回文子序列
力扣647.回文子串 题目链接:https://leetcode.cn/problems/palindromic-substrings/ 思路 dp数组含义 dp[i][j]:以s[i]为开头,s[j]为结尾的子串是否是回文子串 递推公式 子串范围为[i,j],当s[i]s[j]时,有三种情况࿱…...
Element UI框架学习篇(二)
Element UI框架学习篇(二) 1 整体布局 1.1 前提说明 el-container标签里面的标签默认是从左往右排列,若想要从上往下排列,只需要写el-header或者el-footer就行了 <el-container>:外层容器 <el-header>:顶栏容器。 <el-aside>&#…...
【C++】类与对象(上)
文章目录一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装①访问限定符②封装五、类的作用域六、类的实例化七、类对象模型①如何计算类对象大小②类对象的存储方式③结构体中内存对齐规则八、this指针①this指针的引出②this指针的特性一、面…...
Leetcode.1797 设计一个验证系统
题目链接 Leetcode.1797 设计一个验证系统 Rating : 1534 题目描述 你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在 currentTime时刻之后 timeToLive秒过期。如果验证码被更新了,那么它会在 curr…...
Kaldi - 数据文件准备
文章目录数据文件准备wav.scputt2spkspk2utttext相关代码根据文件生成 utt2spk 和 wav.scputt2spk -- spk2utt 转换数据文件准备 在训练/解码中: 有三个文件是必要的: 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上传项目注意:本篇文章中提到的上传流程所需要的命令,几乎在GitLab的Command line instructions中都有所记载 1、安装Git 具体安装流程这里不做过多说明,安装流程可以参考…...
初阶指针C
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 🐰指针是什么 🐰指针和指针类型 🌸指针-整数 &#x…...
云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征
随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技…...
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不会有了,1.20也算是一个小gap,从中可以一窥Go未来的发展之路。对于Go来说,未来保持1.x持续演进和兼容性之外,重点就是让Go性能更优,同时保持大道至简原则,使用尽可能容易,从这两个…...
图片显示一半怎么回事?
不知道小伙伴是否遇到过,刚刚上传的一个文件夹,有一多半的图片突然就变成了无法显示该图片或者是图片显示一半,而另外一半就显示灰色蓝色粉色条状。而且还把原文件删除了。面对这种情况,有什么解决方法呢?下面让我们一起来来看看…...
102-并发编程详解(中篇)
这里续写上一章博客 Phaser新特性 : 特性1:动态调整线程个数 CyclicBarrier 所要同步的线程个数是在构造方法中指定的,之后不能更改,而 Phaser 可以在运行期间动态地 调整要同步的线程个数,Phaser 提供了下面这些方…...
jsp羽毛球场馆管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 jsp 羽毛球场馆管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,…...
CacheLib 原理说明
CacheLib 介绍 CacheLib 是 facebook 开源的一个用于访问和管理缓存数据的 C 库。它是一个线程安全的 API,使开发人员能够构建和自定义可扩展的并发缓存。 主要功能: 实现了针对 DRAM 和 NVM 的混合缓存,可以将从 DRAM 驱逐的缓存数据持久…...
【dapr】服务调用(Service Invokation) - app id的解析
逻辑图解 上图来自Dapr官网教程,其中Checkout是一个服务,负责生成订单号, Order Processor是另一个服务,负责处理订单。Checkout服务需要调用Order Processor的API, 让Order Processor获取到其生成的订单号并进行处理。…...
个人网站设计提纲/推广普通话心得体会
均值为0,方差为0.01 均值为0,方差为0.09 代码如下: %imnoise demo f imread(cameraman.tif); %fnoise imnoise(f, gaussian); %增加均值为0, 方差为0.01得噪声 fnoise imnoise(f, gaussian, 128); %增加均值为2, …...
开源php企业网站/精准营销系统价值
1、内联接(典型的联接运算,使用像 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 …...
怎么查有做网站的公司有哪些/seo 知乎
zebra http://www.zebra.org/ quagga http://www.quagga.net/...
湛江网站建设外包/seo专业实战培训
摘要:虚拟机Apache设置很多用户都遇到过,具体如何进行虚拟机Apache设置?怎样才能让虚拟机Apache设置达到最简单,最优化?本文为您讲解。Apache虚拟机设置有两种方法: 基于主机名的虚拟主机(一个IP地址&#…...
小程序一般需要多少钱/百度优化教程
vCPU,顾名思义,是虚拟CPU。 创建虚拟机时,需求配置vCPU资源。 因而vCPU是虚拟机的部件。 因而脱离VM,议论vCPU是没有意义的。虚拟化办理体系怎么调度vCPU,取决于体系内的虚拟机数目以及虚拟机配置的vCPU的情况。大致的…...