此笔记只记录一些比较特殊的基础知识点。并不能作为 python
学习的全部内容。
数据类型
我们可以通过 type()
语句来得到数据的类型:
语法:type(被查看类型的数据)
标识符
·
运算符
算术(数学)运算符
赋值运算符
复合赋值运算符
字符串的三种定义方式
-
单引号定义法:
msg = 'hello'
-
双引号定义法:
msg = "hello"
-
三引号定义法:
msg = """hello"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,她就是字符串。
不使用变量接收它,就可以作为多行注释使用。
字符串格式化操作
字符串格式化
示例演示:
name = "张三"
age = 12
salary = 8888.88
msg = "我是%s, 今年%d岁,薪资%f米" % (name, age, salary)
print(msg)
输出:
我是张三, 今年12岁,薪资8888.880000米
这里发现:浮点数88.88,变成了8888.880000输出。(需要使用 精度控制
)
数字精度控制
示例演示:
num1 = 12
num2 = 12.345
print("数字12宽度限制5,结果是%5d" % num1)
print("数字12宽度限制1,结果是%1d" % num1)
print("数字12.345宽度限制7,小数精度2,结果是%7.2f" % num2)
print("数字12.345宽度不限制,小数精度2,结果是%.2f" % num2)
输出:
数字12宽度限制5,结果是 12
数字12宽度限制1,结果是12
数字12.345宽度限制7,小数精度2,结果是 12.35
数字12.345宽度不限制,小数精度2,结果是12.35
快速写法(推荐)
示例演示:
name = "张三"
age = 12
salary = 8888.88
msg = f"我是{name}, 今年{age}岁,薪资{salary}米"
print(msg)
输出:
我是张三, 今年12岁,薪资8888.88米
表达式的格式化
示例演示
print("2 * 3 的结果是: %d" % (2 * 3))
print(f"2 * 3 的结果是: {2 * 3}")
print("字符串在Python中的类型名是: %s" % type("字符串"))
输出:
2 * 3 的结果是: 6
2 * 3 的结果是: 6
字符串在Python中的类型名是: <class 'str'>
数据输入
注意:无论键盘输入什么类型的数据,获取到的数据 永远是字符串类型
示例演示:
input_value = input("请输入内容!")
print("你输入的内容是:%s" % input_value)
输出:
请输入内容!hellp
你输入的内容是:hellp
布尔类型和比较运算符
判断语句
if elif else 语句
num = int(input("请输入成绩:"))
if num < 60:
print("不及格")
elif num == 100:
print("满分")
else:
print("及格")
循环语句
1. for循环语法
for 临时变量 in 待处理的数据集(序列):
循环满足条件时执行的代码
序列类型值:其内容可以一次次依次取出的一种类型,包括:
2. for循环的注意点
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进
3. range语句
功能:获得一个数字序列
语法1:range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
语法2:range(num1, num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
语法3:range(num1, num2, step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
函数
定义语法
def 函数名(传入参数):
"""
函数说明
"""
函数体
return 返回值1,返回值2......
不定长参数
参数不定长
def 函数名(*args):
函数体
函数名(1, 2, 3, 'hello', '你好')
- 不定长参数使用*号,传入的参数是元组(tuple)
关键字不定长
def 函数名(**kwargs):
函数体
函数名(name='张飞',age=18)
- 不定长关键字使用**号,传入的参数是字典(dict)
lambda 匿名函数
匿名函数使用 lambda 关键字进行定义
使用场景:
临时构建函数,使用一次的场景
如需写多行代码,需要 def 定义带名函数
定义语法:
lambda 传入参数: 函数体(一行代码)
演示:
"""
演示 lambda 匿名函数
"""
# 定义一个函数,接受其他函数输入
def test_fun(compute):
result = compute(1, 2)
print(result)
# 通过lambda匿名函数的形式,讲匿名函数作为参数传入
test_fun(lambda x, y: x + y)
注意事项:
- 参数不需要,可以省略
- 返回值不需要,可以省略(返回值是None)
- 关键字参数通过 “键=值” 形式传递参数,可以不限制参数顺序
- 函数本身可以作为参数传递使用
数据容器
一种可以存储多个元素的Python数据类型!!!
list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
list(列表)
定义语法:
[元素1,元素2,元素3,......]
下标索引:
从前向后,编号从0开始递增
从后向前,编号从-1开始递减
操作方法:
tuple(元组)
定义语法:
(元素1,元素2,元素3,......)
操作方法:
注意事项:
str(字符串)
字符串可以看做是字符的容器,支持下标索引等特性
操作方法:
特点:
- 只可以存储字符串
- 长度任意(取决于内存大小)
- 支持下标索引
- 允许重复字符串存在
- 不可以修改(增加或删除元素等)
- 支持循环
序列
介绍:
内容连续、有序、支持下标索引的一类数据容器
序列:
列表、元组、字符串 都是序列
切片:
序列[起始: 结束: 步长]
- 起始可以省略,省略从头开始
- 结尾可以省略,省略从尾结束
- 步长可以省略,省略步长为1(可以为负数,表示倒序执行)
set(集合)
介绍:
集合内不允许重复元素(去重)
集合内元素是无序的(不支持下标索引)
语法:
{元素1,元素2,元素3,......元素n}
操作方法:
dict(字典)
介绍:
字典可以提供基于 key
检索 value
的场景实现
定义语法:
{key1: value1,key2: value2,key3: value3,......}
注意事项:
- 键值对的key和value可以是任意类型(key 不可为字典)
- 字典内 key不允许重复,重复添加等同于覆盖原有数据
- 字典不可用下标索引,而是通过key检索value
操作方法:
数据容器特点对比
容器通用功能总览