Python-python基础语法:字面量(字符串)、注释、变量、数据类型(type语句、变量无类型)、数据类型转换、标识符(命名规则)、运算符(算术(数学)、赋值、复合赋值运算符)、字符串扩展、数据

版本说明

当前版本号[20230601]。

版本修改说明
20230601初版

知识总览图

第二章 python基础语法

目录

第二章 python基础语法

字面量

字面量的含义

​ 在代码中,被写在代码中的固定的,称之为字面量。

常见的字面量类型

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

image-20230520195755677

字符串

​ 字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串。

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

如何书写

image-20230520195950511

基于print语句完成各类字面量的输出

print(字面量),如:

print(666),输出整数666

print(13.14),输出浮点数13.14

print("黑色星期五"),输出字符串:黑色星期五

image-20230520200236684

注释

注释的作用

image-20230520201111661

注释:在程序代码中对程序代码进行解释说明的文字。注释是代码中的解释型语句,用来对代码内容进行注解,注释不是代码,不会被程序执行

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

注释的分类

单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。单行注释一般用于对一行或一小部分代码进行解释

注意,#号和注释内容一般建议以一个空格隔开

image-20230520201215429

多行注释: 以 一对三个双引号 引起来 ( “”" )来解释说明一段代码的作用使用方法,**引号内部均是注释,可以换行。**多行注释一般对:Python文件、类或方法进行解释

image-20230520201325529

扩展面试题

  1. 单行注释中能否使用多行注释?

    单行注释中不能使用多行注释,会产生语法错误

  2. 多行注释中能否使用单行注释?

    多行注释中不能使用单行注释。但是,单行注释可以用来解释或补充多行注释的内容。

  3. 多行注释中能否使用多行注释?

    ​ 多行注释中不能再嵌套多行注释,这也会产生语法错误。

变量

什么是变量

​ 变量:在程序运行时,能储存计算结果或能表示值的抽象概念。

​ 简单的说,变量就是在程序运行时,记录数据用的。

变量的定义格式:变量名 = 变量值

image-20230520203145549

变量的特征

变量,从名字中可以看出,表示“量”是可变的。

所以,变量的特征就是,变量存储的数据,是可以发生改变的。

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

print语句输出多份内容:print(内容1, 内容2, …, 内容N)

练习:求钱包余额

请在程序中,定义如下变量:

•钱包余额(变量名:money),初始余额50

请通过程序计算,在购买了:

•冰淇淋10元

•可乐5元

后,钱包余额还剩余多少元。请通过print语句进行输出:

"""
•钱包余额(变量名:money),初始余额50
请通过程序计算,在购买了:
•冰淇淋10元
•可乐5元
"""
money = 50
print("当前钱包剩余:", money, "元")
money = money - 10
print("购买了冰淇淋后,还剩:", money, "元")
money = money - 5
print("购买了可乐后,还剩:", money, "元")
print("现在钱包里还剩:", money, "元")

image-20230520203820044

数据类型

数据是有类型的

在学习字面量的时候,我们了解到:数据是有类型的。

目前在入门阶段,我们主要接触如下三类数据类型:

image-20230520204719781

string、int、float这三个英文单词,就是类型的标准名称。

type()语句

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

语法:type(被查看类型的数据)

type()语句的使用方式

image-20230520204841167

如下代码,int_type变量可以存储变量666的类型信息,是因为type()语句会给出结果(返回值)

image-20230520204905487

以上查看的都是<字面量>的类型,也可以查看变量中存储的数据类型:

image-20230520204948826

变量无类型

我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型:

查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有

我们可能会说:字符串变量。但要知道,不是变量是字符串,而是它存储了:字符串

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

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

image-20230520205239427

三引号定义法,表示在一堆三个双引号的范围内,均是字符串,如下:

image-20230520205313567

数据类型转换

为什么要转换类型

​ 数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等

​ 数据类型转换,将会是我们以后经常使用的功能。

如:

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
  • 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
  • 将数字转换成字符串用以写出到外部系统等等

常见的转换语句

image-20230520210808728

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

类型转换注意事项

需要注意:

  1. 任何类型,都可以通过str(),转换成字符串

  2. 字符串内必须只有数字,才可以将字符串转换为数字

  3. 浮点数转整数会丢失精度,也就是小数部分

标识符

什么是标识符

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

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

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

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

标识符命名规则

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

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

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

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

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

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

注:1. 不推荐使用中文;2. 数字不可以开头

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

以定义变量为例:

Andy = “安迪1”

andy = “安迪2”

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

image-20230520230537053

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

Python中有一系列单词,称之为关键字

关键字在Python中都有特定用途

我们不可以使用它们作为标识符

image-20230520230657610

变量命名规范

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

  • 变量名
  • 类名
  • 方法名

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

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

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

变量命名规范 - 见名知意

变量的命名要做到:

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

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

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

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

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

运算符

算术(数学)运算符

image-20230520231906081

算术运算符的演示

#求1 + 1 的时候,以下两条命令均可以使用
print("1 + 1 = %d" % (1+1))
print("1 - 1 =", 1 - 1)

image-20230520232331616

赋值运算符

image-20230520232858363

复合赋值运算符

image-20230520232928413

复合赋值运算符的演示

num = 4
num += 5
print("num += 5 =", num)

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

image-20230520233319031

字符串扩展

字符串的三种定义方式

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

  1. 单引号定义法:name = ‘黑色星期五’
  2. 双引号定义法:name = “黑色星期五”
  3. 三引号定义法:name = “”“黑色星期五”“”

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

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

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

image-20230520234551781

字符串的引号嵌套

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

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

image-20230521194904274

字符串拼接

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

print("黑色星期五" + "吃炸鸡")
输出结果:黑色星期五吃炸鸡

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

name = "汤姆"
print("我是:" + name)
输出结果:我是汤姆

既然,字符串和变量进行拼接,我们来完成一个小需求,定义2个变量:

  • name,内容是“汤姆”
  • food,内容是“炸鸡配薯条”

要求写程序通过print语句以及字符串拼接的方式输出:

name = "汤姆"
food = "炸鸡配薯条"
print("我是" + name + "爱吃" + food)
输出结果:我是汤姆爱吃炸鸡配薯条

注:

字符串无法和非字符串变量进行拼接因为类型不一致,无法接上

就像接力赛一样,不是队友,不能接力的哦

sum01 = 3
sum02 = 5
print("考了:"+ sum01 + "分")
报错原因:字符串无法和非字符串变量进行拼接

image-20230521195926825

字符串格式化

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

其中的,%s

  • % 表示:我要占位

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

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

name = "蜂蜜芥末酱"
message = "炸鸡里面有%s" % name
print(message)
输出结果:炸鸡里面有蜂蜜芥末酱

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

数字也能用%s占位吗?

可以的哦,这里是 将数字 转换成了 字符串

也就是数字99,变成了字符串"99"被放入占位的地方

score = 99
message = "给炸鸡打%s分" % score
print(message)
输出结果:给炸鸡打99

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

image-20230521201217360

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

score = 99
name = "好吃炸鸡店"
money = 66.66
message = "我在%s里吃了%f钱,我给它打%d分" % (name,money,score)
print(message)

image-20230521201509805

格式化的精度控制

细心的大家可能会发现:浮点数66.66,变成了66.660000输出

这里我们就要讲解一下,字符串格式化之“数字精度控制”

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

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

示例:

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

•%5.2f:表示将宽度控制为5,将小数点精度设置为2

​ **小数点和小数部分也算入宽度计算。**如,对11.345设置了%7.2f 后,结果是:2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35

image-20230522133124569

•%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35

正如:

score = 99.5432
name = "好吃炸鸡店"
money = 66.66
message = "我在%s里吃了%3d块钱,我给它打%4.2f分" % (name,money,score)
#%3d 宽度3,补了1个空格
#宽度小于数字本身,无影响,小数点后四舍五入
print(message)
输出结果:我在好吃炸鸡店里吃了 66块钱,我给它打99.54

字符串格式化方式2 - 快速写法

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

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

看如下代码

score = 99.5432
name = "好吃炸鸡店"
money = 66.66
date = "星期四"
message = f"我在{name}里吃了{money}块钱,我给它打{score}分,打算下周{date}再来吃"
print(message)
输出结果:我在好吃炸鸡店里吃了66.66块钱,我给它打99.5432,打算下周星期四再来吃

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

对表达式进行格式化

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

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

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

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

如:

1 + 1、5 * 2

就是表达式,因为有具体的结果,结果是一个数字

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

name = “张三”   age = 11 + 11

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

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

print("每天有24个小时,一天就会有 %d" % (24 * 60), "分钟")
print(f"那五月总共有{24 * 60 * 30}分钟")
print("分钟类型在python是%s" %type('分钟'), "类型")

image-20230522135924369

数据输入

input语句(函数)

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

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

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

使用上也非常简单:

  • 使用一个变量接收(存储)input语句获取的键盘输入数据即可
  • input()语句的功能是,获取键盘输入的数据
  • 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息
  • 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型
print("欢迎来到大学教务系统,请输入你的名字")
name = input()
print("欢迎 %s" % name, "来到大学教务系统!")

输出结果:欢迎来到大学教务系统,请输入你的名字
输入:大学生
输出结果:欢迎 大学生 来到大学教务系统!

​ 在前面的代码中,输出”欢迎来到大学教务系统,请输入你的名字“的print语句其实是多余的,input()语句其实是可以在要求使用者输入内容前,输出提示内容的哦!

name = input("欢迎来到大学教务系统,请输入你的名字")
print("欢迎 %s" % name, "来到大学教务系统!")

输出结果:欢迎来到大学教务系统,请输入你的名字
输入:在学生
输出结果:欢迎 大学生 来到大学教务系统!

示例:(其中绿色是我们手动输入的结果)

name = input("欢迎登录小程序,请输入你的名字:")
ability = input("好的,那你的级别是:")
print("欢迎 %s" % name, "来到小程序,你是尊贵的 %s" % ability,"用户,我将为你提供独家服务")

image-20230522141917918

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放下华子我只抽RuiKe5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值