文章目录
字面量
- 字面量: 在代码中,被写下来的的固定的值,称之为字面量
- 常见的字面量类型:
Python中常用的有6种值(数据)的类型,分别是数字(整数/浮点数/复数/布尔)、字符串、列表、元组、集合、字典。 - 基于print语句完成各类字面量的输出
print(字面量),如:
●print(10), 输出整数10
●print(13.14), 输出浮点数13.14
●print(“人生苦短,我学python”)。 输出字符串:人生苦短,我学python
注释
- 注释:在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
注意,#号和注释内容一般建议以一个空格隔开
多行注释: 以 一对三个双引号 引起来注释内容来解释说明一段代码的作用使用方法
变量
- 变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的
变量的定义格式:
变量名称 = 变量的值
变量的特征:变量的值可以改变
数据类型
type()语句:通过type()语句来得到数据的类型
语法:
type(被查看类型的数据)
注意:变量无类型,但是它存储的数据有
字符串类型的不同定义方式:
单引号定义法
双引号定义法
三引号定义法
三引号定义法,表示在一堆三个双引号的范围内,均是字符串,如下:
数据类型转换
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
数据类型转换用处:
从文件中读取的数字,默认是字符串,我们需要转换成数字类型
后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
将数字转换成字符串用以写出到外部系统
等等
语句(函数) | 说明 |
---|---|
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象 x 转换为字符串 |
注意:
1. 任何类型,都可以通过str(),转换成字符串
2. 字符串内必须真的是数字,才可以将字符串转换为数字`
标识符
- 标识符:
是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
标识符命名的规则主要有3类:
一、内容限定
标识符命名中,只允许出现:
英文
中文
数字
下划线(_)
这四类元素。
其余任何内容都不被允许。
注意:
数字不可以开头
不推荐使用中文
二、大小写敏感
以定义变量为例:
Andy = “安迪1”
andy = “安迪2”
字母a的大写和小写,是完全能够区分的。
三、不可使用关键字
Python中有一系列单词,称之为关键字
关键字在Python中都有特定用途
我们不可以使用它们作为标识符
命名规则
常见的命名方式有两种:
驼峰命名法
(除第一个单词外,其他单词第一个字母大写,例如:applePie、theFirstBoy)
下划线命名法
(单词的首字母小写,使用下划线间隔单词)
标识符类型 | 命名规则 | 示例 |
---|---|---|
模块名 | 通常采用小写字母命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多) | import decoder |
类名 | 使用驼峰命名风格,首字母大写,私有类可以用一个下划线开头 | —PrivateZoo |
函数名 | 全部使用小写字母,多个单词间使用下划线分割 | run_with_env() |
变量名 | 驼峰命名法或者下划线命名法均可 | schoolName school_name |
常量 | 全部字母大写,如果有多个单词,使用下划线分开 | MAX_CLIENT=100 |
运算符
一、算术运算符
二、赋值运算符
增强型(复合)赋值运算符
三、比较运算符
运算符 | 描述 |
---|---|
== | 比较两个对象是否相等 |
!= | 比较两个对象是否不相等 |
> | 大小比较,例如 x>y 将比较 x 和 y 的大小,如 x 比 y 大,返回 True,否则返回 False |
< | 大小比较,例如 x<y 将比较 x 和 y 的大小,如 x 比 y 小,返回T rue,否则返回 False |
>= | 比较两个对象是否相等大小比较,例如 x>=y 将比较 x 和 y 的大小,如 x 大于等于 y,返回 True,否则返回 False |
<= | 大小比较,例如 x<=y 将比较 x 和 y 的大小,如 x 小于等于 y,返回 True,否则返回 False |
四、逻辑运算符
运算符 | 描述 |
---|---|
and | 布尔“与”运算符,返回两个变量“与”运算的结果 |
or | 布尔“或”运算符,返回两个变量“或”运算的结果 |
not | 布尔“非”运算符,返回对变量“非”运算的结果 |
注意:'与’和’或’都是从左到右结合,‘非’为从右到左
结合
五、位运算符
运算符 | 描述 |
---|---|
& | 按位“与”运算符:参与运算的两个值,如果两个相应位都为 1,则结果为 1,否则为 0 |
∣ | 按位“或”运算符:只要对应的两个二进制位有一个为 1 时,结果就为 1 |
^ | 按位“异或”运算符:当两对应的二进制位相异时,结果为 1 |
~ | 按位“取反”运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1 |
<< | “左移动”运算符:运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃, 低位补 0 |
>> | “右移动”运算符:运算数的各二进制位全部右移若干位,由“>>”右边的数指定移动的位数,高位是0补0,是1补1 |
六、成员运算符
运算符 | 描述 |
---|---|
in | 当在指定的序列中找到值时返回 True,否则返回 False |
not in | 当在指定的序列中没有找到值时返回 True,否则返回 False |
七、身份运算符
运算符 | 描述 |
---|---|
is | 判断两个标识符是否引用自同一个对象,若引用的是同一个对象则返回 True,否则返回 False |
is not | 判断两个标识符是不是引用自不同对象,若引用的不是同一个对象则返回 True,否则返回 False |
八、运算符优先级
Python 运算符的优先级从高到低排序
运算符 | 描述 |
---|---|
** | 幂 |
~ | 按位“取反” |
*、/、%、// | 乘、除、取模、取整除 |
+、- | 加、减 |
>>、<< | 右移、左移 |
& | 按位“与” |
^、∣ | 按位“异或”、按位“或” |
<=、<、>、>= | 比较运算符 |
==、!= | 等于、不等于 |
=、%=、/=、//=、-=、+=、*=、**= | 赋值运算符 |
is、is not | 身份运算符 |
in、not in | 成员运算符 |
and or not | 逻辑运算符 |
字符串拓展
一、字符串的三种定义方式
- 字符串在Python中有多种定义形式:
单引号定义法:name = '人生苦短,我学python'
双引号定义法:name = ''人生苦短,我学python''
三引号定义法:name ='''人生苦短,我学python'''
若定义的字符串本身,是包含:单引号、双引号自身呢?
单引号定义法,可以内含双引号
双引号定义法,可以内含单引号
可以使用**转义字符(\)**来将引号解除效用,变成普通字符串
二、字符串拼接
使用“+”号连接字符串变量或字符串字面量即可
注:无法和非字符串类型进行拼接
三、字符串格式化
通过占位的形式拼接字符串(字符串格式化)
字符串格式化的语法:
“%占位符” % 变量
多个变量占位:
变量要用括号括起来
并按照占位的顺序填入
完成字符串、整数、浮点数,三种不同类型变量的占位
四、格式化的精度控制
字符串格式化 -——数字精度控制
我们可以使用辅助符号==“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
注意:
1.若m比数字本身宽度还小,则原样输出,m不生效
2. .n会对小数部分做精度限制,同时会对小数部分做四舍五入
字符串格式化——快速写法
f"内容{变量}"的格式来快速格式化
注意:此方式
不理会类型
不做精度控制
适合对精度没有要求的时候快速使用
字符串格式化——表达式的格式化
表达式:一条具有明确执行结果的代码语句
如:
1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字
又或者,常见的变量定义:
name = “张三” age = 11 + 11
等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
总结:
f"{表达式}"
“%s%d%f” % (表达式,表达式,表达式)
数据输入
- 数据输出:print
- 数据输入:input
-input()函数用于从用户处获取输入,并将其作为字符串返回。它可以接收一个可选的提示信息作为参数,该提示信息会在用户输入之前显示。
input(提示信息),用以在使用者输入内容之前显示提示信息。
name = input("请输入您的姓名:")
print("您好," + name + "!欢迎使用这个程序。")
注意:input()函数返回的是一个字符串
,因此即使用户输入的是数字,也会以字符串的形式返回。
如果需要将输入解析为其他类型(如整数或浮点数),则需要进行相应的类型转换。例如:
age = int(input("请输入您的年龄:"))
input()函数获取用户的年龄作为字符串,然后使用int()函数将其转换为整数类型,并将结果存储在变量age中。
拓展:
input()函数通常用于获取用户的输入,而eval()函数则用于评估字符串中的表达式。
需要将用户输入的字符串解析为表达式并进行计算。这时候,可以考虑使用eval()函数。
例如,当您开发一个计算器应用程序时,用户输入一个数学表达式,您需要将其解析并计算结果。
在Python中,input()函数用于接收用户的输入,并将其作为字符串返回。它通常用于与用户进行交互,以便从键盘获取输入。
eval()函数用于评估字符串中的表达式,并返回表达式的结果。它将字符串作为输入,并尝试将其解析为Python表达式,然后计算表达式的值。
当input()和eval()结合使用时,可以实现将用户输入的字符串解析为表达式并计算其结果的功能。这在某些情况下可能很有用,例如当您希望用户输入一个数学表达式,并且您希望计算该表达式的结果。
下面是一个示例,演示了input()和eval()结合使用的情况:
expression = input("请输入一个数学表达式:")
result = eval(expression)
print("表达式的结果是:", result)
在这个示例中,input()函数用于提示用户输入一个数学表达式。用户输入的表达式存储在变量expression中。然后,eval()函数用于评估expression的值,并将结果存储在变量result中。最后,使用print()函数将结果输出到屏幕上。
然而,需要注意的是,使用eval()函数存在一定的安全风险。因为它可以评估任意的表达式,如果用户可以输入恶意的代码,可能会导致安全漏洞或意外行为。因此,在使用eval()函数时,应该格外小心,并确保只接受可信任的输入。
如果不结合使用input()和eval(),而是仅使用input()函数,那么用户输入的内容将始终被当作字符串处理,而不会被解析为表达式。在这种情况下,需要根据具体的需求对输入进行适当的处理和转换,以达到预期的结果。