1. 数据存储与运算
1.1. 字面量
1.1.1. 定义
程序中,直接书写的固定值(数据),称为字面量。
如:18,“Hello World”等。
1.1.2. 字面量类型及书写格式
| 类型 | 说明 | 示例 |
|---|---|---|
| 数字类型 | 整数(int) | 10 18 -5 0 |
| 数字类型 | 浮点数/小数(float) | 8.5 3.14 1.0 -3.5 |
| 布尔(bool) | 表达现实生活中的逻辑,真或假 | True False |
| 字符串(str) | 描述文本的一种数据类型 | "人生苦短,我用Python" |
| 空值(NoneType) | 表示空或无值,仅包含一个值 None | None |
| 数据容器 | 存储多项数据的容器 | 列表/元组/集合/字典(后面详细讲解) |
其中,bool类型本质就是数字类型,bool转数字时,True=1,False=0,数字转bool时,0=False,其它=True
1.2. 变量
1.2.1. 定义
程序中,用来存储单个数据的容器(经常会发生改变的数据),称为变量。
如,num=1中的num是变量名,1为变量值,之后num=2也是可以的,num作为存储容器,里面存储的内容可以不一样。
1.2.2. 作用
变量主要用于输出打印、参与计算、记录数据,是编程过程中必不可少的元素。
1.2.3. 注意事项
- 一个变量只能存储一个值(num=1)
- 变量定义的时候必须赋值才可以使用(C++等语言中可以先声明后赋值)
- 一条语句可以定义多个变量,也可以连续赋值(a, b = 1, “Python”)
1.3. 标识符
1.3.1. 定义
程序员在代码中为变量、函数、类等元素所起的名字,称为标识符。
1.3.2. 标识符命名规则
- 只能包含字母
- 数字不能开头
- 不能使用关键字(if, else, elif, for, while, and, or等)
- 严格区分大小写(Age和age不是同一个变量)
1.3.3. 变量名命名规范
- 顾名思义(年龄用age,姓名用name等,尽量少用a,b这种)
- 多个部分用下划线连接(Java则是驼峰)
- 英文字母全小写
1.4. 案例实操
案例1
现有两个变量,分别为:a = 10, b = 20,现需要将这两个变量值交换,然后输出到控制台。
代码1
a, b = 10, 20 # 变量名赋值a, b = b, a # 变量名交换print(a, b) # 输出交换后的a, b代码2
a, b = 10, 20 # 变量名赋值
# 通过中间变量来交换变量名c = aa = bb = c
print(a, b) # 输出交换后的变量值案例2
现有三个变量,分别为:a = 100,b = 200,c = 300,现需要将这三个变量值进行交换,将a,b,c的值分别赋值给c,a,b,并将其输出到控制台。
代码
a, b, c = 100, 200, 300a, b, c = c, a, bprint(a, b, c)2. 常见数据类型
| 标准名称 | 描述 | 说明 |
|---|---|---|
int | 整数 | 数字类型,存放整数,如:10 -5 |
float | 浮点数 | 数字类型,存放小数,如:8.5 3.14 1.0 -3.5 |
str | 字符串 | 用引号引起来的都是字符串,如:"Python" |
bool | 布尔 | 布尔类型,描述真和假,如:True False |
NoneType | 空值 | 表示空或无值,仅包含一个值 None |
2.1. 数据类型常用方法
2.1.1. type()
我们可以通过type()来获取数据的类型
print(type(1))输出:
<class 'int'>意思是1属于整型类,同理可以试试3.14, "hello"等数据的类型。
2.1.2. isinstance()
我们可以通过isinstance()来检查某个数据是否是我们指定的数据类型。
print(isinstance(1, int))print(isinstance(1, float))输出:
TrueFalse意思是1属于整形类,1不属于浮点型。
2.2. 字符串
2.2.1. 字符串的定义
字符串,顾名思义,就是由一系列字符组成的数据类型。在编程中,我们常用它来表示名字、短语、句子等文本内容。
在 Python 中,字符串不仅能存储单个字母,还可以包含数字、符号,甚至是空格。字符串是编程中最常用、最基础的数据类型之一。
在Python中,字符串可以用单引号(')、双引号(")、或三引号(''' 或 """)括起来。字符串中的每一个字符都有其对应的索引。
例如:
s1 = 'hello's2 = "world"s3 = """多行字符串可以换行"""print(s1)print(s2)print(s3)输出:
helloworld多行字符串可以换行字符串中的特殊字符
字符串中有一些特殊字符,常用的有\n(换行)、\t(制表符)、\\(反斜杠)、\"(双引号)、\'(单引号)等。
例如:
s = "Hello\nPython"print(s)s2 = "Hello\tPython"print(s2)s3 = "他说:\"你好,Python!\""print(s3)输出:
HelloPythonHello Python他说:"你好,Python!"转义与原始字符串
有时我们不希望字符串中的\被当作特殊字符处理,可以在字符串前面加上r,变为原始字符串(raw string)。
path = "C:\\Users\\Python"print(path)raw_path = r"C:\Users\Python"print(raw_path)输出:
C:\Users\PythonC:\Users\Python原始字符串常用于正则表达式、Windows路径等场景。
2.2.2. 字符串常用操作
拼接字符串
可以使用+号拼接两个字符串,也可以用*重复字符串。
a = "Hello"b = "Python"c = a + " " + bd = a * 3print(c) # 输出: Hello Pythonprint(d) # 输出: HelloHelloHello获取字符串长度
使用len()函数可以获取字符串的长度。
msg = "Python"print(len(msg)) # 输出: 6字符串索引与切片
通过索引获取字符串中的某个字符,索引从0开始。通过切片可以获取一部分字符串。
s = "abcdef"print(s[0]) # 输出: aprint(s[-1]) # 输出: fprint(s[2:5]) # 输出: cdeprint(s[:3]) # 输出: abc字符串常用方法
upper():转换成大写lower():转换成小写strip():去除首尾空白replace(a, b):替换字符串中的a为bsplit(sep):按照分隔符分割为列表
text = " Python,Hello "print(text.upper()) # 输出: PYTHON,HELLOprint(text.lower()) # 输出: python,helloprint(text.strip()) # 输出: Python,Helloprint(text.replace("Hello", "World")) # 输出: Python,Worldprint(text.split(",")) # 输出: [' Python', 'Hello ']字符串格式化
可以用f''格式化字符串或者用format()方法。
name = "Tom"age = 18print(f"My name is {name}, age is {age}") # 推荐print("My name is {}, age is {}".format(name, age))输出:
My name is Tom, age is 18My name is Tom, age is 182.3. 案例实操
2.3.1. 案例1
根据自己的实际情况,输出个人的详细信息,具体结构如下:
“大家好,我是Hygen,今年18岁,学习的专业是软件工程,爱好Python、C++“
name = "Hygen"age = 18pro = "软件工程"hobby = "Python, C++"
print(f"大家好,我是{name}, 今年{age}岁,学习的专业是{pro},爱好{hobby}")3. 输入与输出
3.1. input()
input函数可以获取键盘输入的数据,用法为s = input(提示信息),它的返回值是一个字符串
print函数可以将数据输出到控制台,用法为print(需要输出的数据)
3.2. 案例实战
3.2.1. 案例1
小智的银行卡中有10000元,现在到ATM进行取钱操作,请根据输入的金额执行取钱操作,取钱完毕后,展示其银行卡余额。
# ATM取钱案例代码money = 10000draw = int(input("请输入要取款的金额:"))money -= drawprint(f"取钱成功,您的银行卡余额为:{money}")示例输出
请输入要取款的金额:2000取钱成功,您的银行卡余额为:80003.2.2. 案例2
根据用户输入的两个数字,计算两个数之和,并将其输出到控制台。
# 获取输入a, b = [int(x) for x in input().split()]# 输出和print(a + b)示例输入
3 4示例输出
74. 运算符
4. 运算符
4.1. 算术运算符
用于进行数学运算的符号,比如加减乘除等。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
+ | 加法 | 5 + 2 | 7 |
- | 减法 | 5 - 2 | 3 |
* | 乘法 | 5 * 2 | 10 |
/ | 除法(得到浮点数) | 5 / 2 | 2.5 |
// | 整除 | 5 // 2 | 2 |
% | 取余(取模) | 5 % 2 | 1 |
** | 幂运算 | 5 ** 2 | 25 |
示例
a = 9b = 4print(a + b) # 13print(a - b) # 5print(a * b) # 36print(a / b) # 2.25print(a // b) # 2print(a % b) # 1print(a ** b) # 65614.2. 赋值运算符
用于给变量赋值,也可以与算术运算结合(复合赋值运算符)。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
= | 赋值 | a = 5 | a为5 |
+= | 加法赋值 | a += 2 | 等价于a = a + 2 |
-= | 减法赋值 | a -= 1 | 等价于a = a - 1 |
*= | 乘法赋值 | a *= 3 | 等价于a = a * 3 |
/= | 除法赋值 | a /= 2 | 等价于a = a / 2 |
//= | 整除赋值 | a //= 2 | 等价于a = a // 2 |
%= | 取余赋值 | a %= 2 | 等价于a = a % 2 |
**= | 幂赋值 | a **= 2 | 等价于a = a ** 2 |
示例
a = 10a += 5 # 变成15a //= 3 # 15整除3,变成5a **= 2 # 5的平方,变成25print(a) # 254.3. 比较运算符
用于比较两个值,结果是布尔类型True或False。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
== | 等于 | 3 == 5 | False |
!= | 不等于 | 3 != 5 | True |
> | 大于 | 3 > 5 | False |
< | 小于 | 3 < 5 | True |
>= | 大于等于 | 3 >= 3 | True |
<= | 小于等于 | 3 <= 2 | False |
示例
a = 8b = 6print(a == b) # Falseprint(a != b) # Trueprint(a > b) # Trueprint(a < b) # Falseprint(a >= 8) # Trueprint(a <= 5) # False4.4. 逻辑运算符
用于多个条件的组合判断。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
and | 而且(并且) | True and False | False |
or | 或(两个中有一个为真就为真) | True or False | True |
not | 取反 | not True | False |
示例
age = 20score = 85
print(age > 18 and score >= 80) # Trueprint(age < 18 or score >= 80) # Trueprint(not (age == 20)) # False常用于条件语句、循环控制等。
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时









