【Python | 基础语法篇】02、标识符、运算符、字符串扩展及数据输入

目录

一、标识符

1.1 什么是标识符

1.2 标识符命名规则

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

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

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

1.3 案例演示 

1.4 变量命名规范

1.4.1 变量命名规范 - 见名知意

​1.4.2 变量命名规范 - 下划线命名法 

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

1.5 总结 

二、运算符 

2.1 算术(数学)运算符

2.2 算术运算符的演示

2.3 运算符类型

2.3.1 赋值运算符

2.3.2 复合赋值运算符

2.3.3 演示

2.4 总结

三、字符串扩展

3.1 字符串的三种定义方式 

3.1.1 字符串的引号嵌套 

3.1.2 演示

3.1.3 总结

3.2 字符串拼接

3.2.1 演示 

3.2.2 总结

3.3 字符串格式化

3.4 格式化的精度控制

3.4.1 演示 

3.4.2 总结

3.5 字符串格式化 - 快速写法

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

四、数据输入

4.1 获取键盘输入

4.2 input语句(函数) 

4.3 input 语句获取的数据类型

4.4 总结


一、标识符

1.1 什么是标识符

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

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

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

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

既然要起名字,就会有对应的限制。

1.2 标识符命名规则

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

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

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

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

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

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

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

以定义变量为例:

Andy = “安迪1”

andy = “安迪2”

字母 的大写和小写,是完全能够区分的。

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

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

1.3 案例演示 

# 规则1:内容限定,限定只能使用:中文、英文、数字、下划线,注意:不能以数字开头
# 错误的代码示范:1_name = "张三"
# 错误的代码示范:name_! = "张三"
name_ = "张三"
_name = "张三"
name_1 = "张三"


# 规则2:大小写敏感
Andy = "安迪"
andy = 666
print(Andy)
print(andy)



# 规则3:不可使用关键字
# 错误的示例,使用了关键字:class = 1
# 错误的示例,使用了关键字:def = 1
Class = 1

1.4 变量命名规范

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

  • 变量名
  • 类名
  • 方法名

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

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

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

1.4.1 变量命名规范 - 见名知意

变量的命名要做到:

  • 明了:尽量做到,看到名字,就知道是什么意思

  • 简洁:尽量在确保明了的前提下,减少名字的长度

1.4.2 变量命名规范 - 下划线命名法 

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

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

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

1.5 总结 

1. 什么是标识符?

用户编写代码时,对变量、类、方法等编写的名字,叫做标识符。

2. 标识符的命名规则?

  • 内容限定(中文、英文、数字、下划线)
  • 大小写敏感
  • 不可使用关键字

3. 变量的命名规范?

  • 见名知意
  • 下划线命名法

英文字母全小写。

不遵守规则:会出现问题

不遵守规范:不太高级 

二、运算符 

2.1 算术(数学)运算符

2.2 算术运算符的演示

# 算术(数学)运算符
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("3 * 3 = ", 3 * 3)
print("4 / 2 = ", 4 / 2)
print("11 // 2 = ", 11 // 2)
print("9 % 2 = ", 9 % 2)
print("2 ** 2 = ", 2 ** 2)

运行结果:

2.3 运算符类型

2.3.1 赋值运算符

2.3.2 复合赋值运算符

2.3.3 演示

# 赋值运算符
num = 1 + 2 * 3

# 复合赋值运算符
# +=
num = 1
num += 1 # num = num + 1
print("num += 1: ", num)
num -= 1
print("num -= 1: ", num)
num *= 4
print("num *= 4: ", num)
num /= 2
print("num /= 2: ", num)
num = 3
num %= 2
print("num %= 2: ", num)

num **= 2
print("num **= 2: ", num)

num = 9
num //= 2
print("num //= 2:", num)

运行结果:

2.4 总结

1. 常见的算术(数学)运算符有:

加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、求平方(**

2. 赋值运算符有:

  • 标准赋值: =
  • 复合赋值:+=-=*=/=//=%=**=

三、字符串扩展

3.1 字符串的三种定义方式 

字符串在 Python 中有多种定义形式:

  1. 单引号定义法:name = '你好世界'
  2. 双引号定义法:name = "你好世界"
  3. 三引号定义法:name = """你好世界"""

三引号定义法,和多行注释的写法一样,同样支持换行操作。

使用变量接收它,它就是字符串;

不使用变量接收它,就可以作为多行注释使用。

3.1.1 字符串的引号嵌套 

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

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

3.1.2 演示

# 单引号定义法,使用单引号进行包围
name = '你好世界'
print(type(name))
# 双引号定义法
name = "你好世界"
print(type(name))
# 三引号定义法,写法和多行注释是一样的
name = """
你好
世界
"""
print(type(name))


# 在字符串内 包含双引号
name = '"你好世界"'
print(name)
# 在字符串内 包含单引号
name = "'你好世界'"
print(name)
# 使用转义字符 \ 解除引号的效用
name = "\"你好世界\""
print(name)
name = '\'你好世界\''
print(name)

运行结果:

3.1.3 总结

1. 字符串的三种定义方式:

  • 单引号方式
  • 双引号方式
  • 三引号方式

2. 引号的嵌套 

  • 可以使用:来进行转义(\ 后面的符号被转义,即失效)
  • 单引号内可以写双引号或双引号内可以写单引号

3.2 字符串拼接

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

输出结果:

        单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接,如: 

3.2.1 演示 

# 字符串字面量之间的拼接
print("你好" + "世界")
# 字符串字面量和字符串变量的拼接
name = "Tom"
address = "广东省广州市"
tel = "996"
print("我是:" + name + ",我的地址是:" + address + ",我的电话是:" + tel)

运行结果:

既然可以和字符串变量完成拼接,那么,是否可以和其它变量类型如数字类型完成拼接呢?

name = "Tom"
address = "广东省广州市"
tel = 996                # 不加引号
print("我是:" + name + ",我的地址是:" + address + ",我的电话是:" + tel)

TypeError: can only concatenate str (not "int") to str 

3.2.2 总结

1. 如何完成字符串拼接?

使用“+”号连接字符串变量或字符串字面量即可。

2. 有哪些注意事项?

无法和非字符串类型进行拼接。

3.3 字符串格式化

我们会发现,这个拼接字符串也不好用啊:

  1. 变量过多,拼接起来实在是太麻烦了

  2. 字符串无法和数字或其它类型完成拼接

所以,有没有其它方式,即方便又支持拼接其它类型呢?这个方式,就是字符串的格式化。

我们可以通过如下语法,完成字符串和变量的快速拼接。

其中的,%s

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

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

那,数字类型呢?可以不可以占位?

class_num = 22
avg_salary = 16781
message = "清华大学,本科%s级,毕业平均工资:%s" % (class_num, avg_salary)
print(message)

        可以的,这里是将数字转换成了字符串。也就是数字 22,变成了字符串"22"被放入占位的地方。

注意:多个变量占位变量要用括号括起来并按照占位的顺序填入

Python中,其实支持非常多的数据类型占位,最常用的是如下三类:

如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位:

name = "腾讯"
setup_year = 1998
stock_price = 19.99
message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price)
print(message)

运行结果:腾讯,成立于:1998,我今天的股价是:19.990000 

3.4 格式化的精度控制

        细心的同学可能会发现:上面浮点数 19.99,变成了 19.990000 输出。这里我们就要讲解一下,字符串格式化之数字精度控制”。

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

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

示例:

  • %5d:表示将整数的宽度控制在 位,如数字 11,被设置为 5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为 5,将小数点精度设置为 2。
  •       小数点和小数部分也算入宽度计算。如,对 11.345 设置了%7.2f 后,结果是:[空格][空格]11.35个空格补足宽度,小数部分限制2  位精度后,四舍五入为 .35
  • %.2f:表示不限制宽度,只设置小数点精度为 2,如 11.345 设置 %.2f 后,结果是 11.35。

3.4.1 演示 

num1 = 11
num2 = 11.345
print("数字11宽度限制5,结果是:%5d" % num1)
print("数字11宽度限制1,结果是:%1d" % num1)
print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" % num2)
print("数字11.345不限制,小数精度2,结果是:%.2f" % num2)

运行结果:

3.4.2 总结

1. 精度控制的语法是:

m.n 的形式控制,如 %5d%5.2f%.2f;m 和 .n 均可省略。

2. 如果 m 比数字本身宽度还小,会发生什么事?

不生效。

3. .n 会对小数部分做精度限制,同时:?

会对小数部分做四舍五入。

3.5 字符串格式化 - 快速写法

目前通过%符号占位已经很方便了,还能进行精度控制。

可是追求效率和优雅的Python,是否有更加优雅的方式解决问题呢?

那当然:

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

看如下代码:

name = "腾讯"
set_up_year = 1998
stock_price = 19.99
# f: format
print(f"我是{name},我成立于:{set_up_year}年,我今天的股价是:{stock_price}")

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

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

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

可是,我想更加优雅些,少写点代码,直接对表达式进行格式化是否可行呢?

那么,我们先了解一下什么是表达式。

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

如:

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

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

name = 张三     age = 11 + 11

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

print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 2的结果是:{1 * 2}")
print("字符串在Python中的类型名是:%s" % type("字符串"))

运行结果:

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

四、数据输入

4.1 获取键盘输入

试想一下,我们经常遇到过程序需要我们输入信息的场景。

比如:银行取钱

4.2 input语句(函数) 

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

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

  • 数据输出:print
  • 数据输入:input

使用上也非常简单:

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

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

name = input("请告诉我你是谁?")
print("我知道了,你是:%s" % name)

4.3 input 语句获取的数据类型

        我们刚刚试验的都是输入了字符串类型的数据。那么如果我们输入数字类型或其它类型,结果会如何?

# 输入数字类型
num = input("请告诉我你的银行卡密码:")
# 数据类型转换
num = int(num)
print("你的银行卡密码的类型是:", type(num))

4.4 总结

  1. input()语句的功能是,获取键盘输入的数据

  2. 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。

  3. 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型(除非进行数据转换)

上一篇文章:【Python | 基础语法篇】01、字面量、注释、变量、数据类型及转换_Stars.Sky的博客-CSDN博客

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

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

相关文章

MySQL——存储过程和函数从零基础到入门必学教程(涵盖基础实战)

文章目录 目录 文章目录 前言 一、创建存储过程 二、在存储过程中使用变量 1.定义变量 2.为变量赋值 三、光标的使用 1.打开光标 2.打开光标 3.使用光标 4.关闭光标 四、流程控制的作用 1.IF语句 2.CASE语句 3.LOOP语句 4.LEAVE语句 5.ITERATE语句 6.REPEAT语…

浅述 国产仪器 1761程控模块电源

1761程控模块电源是在自动测试环境中提供偏置功率和对部件或最终产品提供激励的理想设备,是测试系统必备的测试仪器。适用于研发、设计、生产制造等自动测试领域。 1761程控模块电源为用户选配电源提供了灵活性,根据需要可选购1~8种&#xff…

五一堵车 | AI“高速”车辆检测轻而易举监测大家安全

点击蓝字关注我们 关注并星标 从此不迷路 计算机视觉研究院 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 五一节不管是离开小城镇还是进入大城市,每个高速路口都是堵车,现在人工智能愈来愈发达&#xff0c…

linux常用命令大全

作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,工作上会事半功倍,大大提高工作效率。 一. 文件和目录…

OJ刷题 第十三篇

22102 - 将字符串反序 时间限制 : 1 秒 内存限制 : 128 MB 请将一个给定的字符串反序(字符长度为1到10000,且有可能包含空格)。 输入 反序前的字符串 输出 反序后的字符串 样例 输入 abcd 输出 dcba 答案: C版本1:(掌握&…

( 哈希表) 217. 存在重复元素 ——【Leetcode每日一题】

❓217. 存在重复元素 难度:简单 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums [1,2,3,1] 输出:true…

冷链物流运转 3D 可视化监控,助力大数据实时监控

智慧物流是以信息化为依托并广泛应用物联网、人工智能、大数据、云计算等技术工具,在物流价值链上的 6 项基本环节(运输、仓储、包装、装卸搬运、流通加工、配送)实现系统感知和数据采集的现代综合智能型物流系统。随着冷链信息化、数字化发展…

【Linux】8、查看 Linux 主机运行状态、压缩和解压缩命令、Linux 的环境变量

目录 一、查看 Linux 系统资源占用二、硬盘信息监控三、网络监控命令四、Linux 文件上传和下载命令五、压缩和解压(1) 压缩格式(2) tar 命令 六、Linux 的环境变量 一、查看 Linux 系统资源占用 ✒️ 可通过 top 命令查看系统的 CPU、内存的使用情况(类似 Windows …

AutoGPT安装教程

最近安装AutoGPT时遇到了一些问题,写下这篇文章记录一下 1 下载AutoGPT AutoGPT链接:https://github.com/Significant-Gravitas/Auto-GPT/tree/v0.2.2 下载AutoGPT 推荐下载stable 版本 2 申请openai 的api key 获取api的key,这里就不介…

【MySQL高级】——InnoDB索引MyISAM索引

一、索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结构以某种方式指向…

史上最全的接口测试,吐血整理从零到接口自动化实战...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 接口测试&#xf…

C++中的stack容器

文章目录 stack的介绍stack的使用 stack的介绍 stack是一种容器适配器,专门用在具有后进先出操作特性的环境中,只能在容器的一端进行插入删除;stack是作为容器适配器被实现的,容器适配器即是对特性类封装作为其底层的容器&#xf…

SCADA平台的HMI功能

01 前言 虹科Panorama SCADA平台支持桌面HMI、Web HMI和移动HMI的功能。桌面HMI主要是在桌面工作站实现数据可视化,能够获取到最全面的数据信息以及实现功能;Web HMI可以通过在软件中添加Web HMI服务器,运行程序后,可以在Web 客户…

被修饰成单栋的倾斜摄影处理思路

作者:kele 前言 倾斜摄影数据是三维项目系统中的常客。在某些项目中,为了给倾斜摄影上的建筑赋予属性信息,实现点击建筑高亮并展示属性的功能,客户将倾斜摄影数据进行了模型单体化(使用pdmodeler或者其它软件&#xf…

Apache Flink

Apache Flink 1 Flink的特点2 流式计算架构2.1 Lambda架构2.2 Kappa架构2.3 IOTA架构 3 Flink部署3.1 Standalone模式3.2 Standalone-HA模式3.3 Flink on Yarn模式3.3.1 Session mode3.3.2 Per-Job mode3.3.3 Application mode 4 Flink运行时的组件4.1 JobManager(作…

【嵌入式环境下linux内核及驱动学习笔记-(8-内核 I/O)-信号驱动】

目录 3 信号驱动的异步通知3.1 linux异步通知编程3.1.1 什么是信号3.1.2 信号的工作流程: 3.2. 应用层3.2.1 信号接收 signal函数3.2.2 应用层 fcntl 函数3.2.3 应用层信号驱动机制步骤 3.3 驱动层3.3.1 驱动层模板3.3.2 驱动层 实现fasync函数3.3.3 fasync_helper3.3.4 struct…

从历史天气预报 API 看气象大数据的商业价值

引言 近年来,随着气象观测技术的不断提升和气象大数据的快速发展,越来越多的企业开始将气象数据应用于商业领域。其中,历史天气预报 API 作为一种可获取历史气象数据的接口,具有广泛的商业应用价值。 本文将从历史天气预报 API …

Delphi 知识 彻底搞懂Delphi中的匿名方法

前言: 顾名思义,匿名方法是一个没有与之相关的名字的过程或函数。一个匿名方法将一个代码块视为一个实体,可以分配给一个变量或作为一个方法的参数使用。此外,匿名方法可以引用变量,并在定义该方法的上下文中为变量绑定…

【Unity入门】19.定时调用Invoke

【Unity入门】定时调用Invoke 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)计时器 (1)Invoke 单词调用 计时器我们并不陌生,在cocos上有着schedule类是…

056:cesium 七种方法设置颜色

第056个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置颜色,这里用到了7种方法,查看API,还有很多种方法 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共115行)相关API参考:专栏目标示例效果 配置…