二: 字典及函数的使用

1. 字典的使用

Python中的字典是以键值对的方式存储书籍,类似 json

Python中内置了 json 模块来处理json数据

python 复制代码
a = {"color": "yello", 'count': 2}
print(
    a['color'],
    a['count'],
)
# 新增数据
a['point'] = 12
print(a)

# 删除数据
del a['point']

输出: 
yello 2
{'color': 'yello', 'count': 2, 'point': 12}

我在同一个字典中同时使用了双引号和单引号,看起来没什么影响,但是最好统一你的代码格式

如果指定的键有可能不存在,应考虑使用方法 get() ,而不要使用方括号表示法(此时会报错).

使用 get() 方法时,如果没有传入默认值,则会在键不存在的时候返回 None

2. 字典的遍历

python 复制代码
a = {"color": "yello", 'count': 2}
items = a.items()
keys = a.keys()
values = a.values()
print(items)
print(keys)
print(values)
for key, value in items:
    print(key, value)

输出:
dict_items([('color', 'yello'), ('count', 2)])
dict_keys(['color', 'count'])
dict_values(['yello', 2])
color yello
count 2

通过对包含重复元素的列表调用 set() ,可让Python找出列表中独一无二的元素,并使用这些元素来创建一个集合

python 复制代码
a = {"color": "blue", 'count': 2, 'favorite_color': 'blue'}
for c in set(a.values()):
    print(c)

输出:
2
blue

可使用一对花括号直接创建集合,并在其中用逗号分隔元素

复制代码
a = {"blue", 'blue', 'yellow', 'red', 'blue'}
print(a)

输出:
{'blue', 'red', 'yellow'}

3. input() 函数

python 复制代码
message = input('please input something:')
print(message)

输出:
please input something:hello world
hello world

input() 函数返回的是字符串,如果需要使用数值的话,可以使用 int() 函数将输入值转成数值

4. 函数

函数是带名字的代码块

4.1 定义函数

python 复制代码
def greet_user():
    print("Hello World")


greet_user()

输出:
Hello World

函数的参数可以通过多种形式进行传递

python 复制代码
def greet_user(name, age=6):
    print("Hello %s,you are %d." % (name, age))


# 按顺序传参
greet_user('Tom', 12)
# 按参数名关键字传参
greet_user(name='Jim', age=18)
# 使用默认参数
greet_user('Harry')


输出:
Hello Tom,you are 12.
Hello Jim,you are 18.
Hello Harry,you are 6.

4.2 可变参数

  1. 元组形式的可变参数
python 复制代码
def greet_user(*names):
    print(names)


greet_user('Tom', 'Jerry', 'Teed')

输出:
('Tom', 'Jerry', 'Teed')

形参名 *names 中的星号让Python创建一个名为 names 的空元组,并将收到的所有值都封装到这个元组中

  1. 字典形式的可变参数
python 复制代码
def greet_user(name, **user_info):
    print('Hello,', name)
    for key, value in user_info.items():
        print(key, '=', value)


greet_user('Tom', age=15, color='red', language='python')

输出:
Hello, Tom
age = 15
color = red
language = python

4.3 模块导入

模块 是扩展名为.py的文件,包含要导入到程序中的代码

  1. 导入整个模块
python 复制代码
import module_name

# 调用模块中的函数
module_name.function_name()
  1. 导入特定函数
python 复制代码
from module_name import function_name
from module_name import function_0, function_1, function_2
# 为导入的函数设置 别名, 与本模块中的函数名进行区分
from pizza import make_pizza as mp
# 为模块设置 别名
import pizza as p
# 导入模块中所有函数
from pizza import *

导入时我们尽量只导入我们用到的函数,保持代码组织简洁

相关推荐
曲幽2 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱12 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵13 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio17 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636718 小时前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱2 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2