寒假自学(二)
希望所有温柔又可爱的人最后都能幸福❤
今日总结:
代码量 | 200行 |
---|---|
博客量 | 一篇 |
所学时间 | 6小时左右 |
了解到的知识点 | python公共方法、名片管理系统、Scala入门 |
明日计划:
早上 | python语法进阶 |
---|---|
下午 | python语法进阶 |
晚上 | 无 |
具体内容: | |
python内置函数 |
函数 | 描述 | 备注 |
---|---|---|
len(item) | 计算容器中元素个数 | |
del(item) | 删除变量 | del有两种方式 |
max(item) | 返回容器中最大值 | 如果是字典,只针对key比较 |
min(item) | 返回容器中最小值 | 如果是字典,只针对key比较 |
切片
描述 | python | 结果 | 支持的数据类型 |
---|---|---|---|
切片 | “0123456789”[::-2] | "97531" | 字符串、列表、元组 |
运算符
运算符 | Python表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1,2] + [3,4] | [1,2,3,4] | 合并 | 字符串、列表、元组 |
* | ["Hi"]*4 | ["Hi","Hi","Hi","Hi"] | 重复 | 字符串、列表、元组 |
in | 3 in (1,2,3) | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in(1,2,3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
> >= == > <= | (1,2,3)<(2,2,3) | True | 元素比较 | 字符串、列表、元组 |
for循环演练
for num in [1, 2, 3]:
print(num)
else:
# 当循环体内部所有变量被执行完才会执行else
print("会执行吗?")
print("循环结束")
students = [
{"name": "阿肖"},
{"name": "肖甜甜"}
]
find_name = "李帅"
for stu_dict in students:
print(stu_dict)
if stu_dict["name"] == find_name:
print("找到了 %s" % find_name)
break
else:
print("抱歉没有找到 %s" % find_name)
print("循环结束")
综合演练:
名片管理系统
使用TODO注释
# TODO(蒲) 显示功能菜单
框架搭建
- 新建
card_main
保存主程序入口 - 新建
card_tools
保存名片功能函数,新增、查询、修改、删除等函数
card_main.py
import cards_tools
while 1:
# TODO(蒲) 显示功能菜单
cards_tools.show_menu()
action_tr = input("请选择希望执行的操作:")
print("您选择的操作是【%s】" % action_tr)
# 使用in避免复杂的逻辑运算
if action_tr in ["1", "2", "3"]:
if action_tr == "1":
cards_tools.new_card()
elif action_tr == "2":
cards_tools.show_all()
else:
cards_tools.search_card()
elif action_tr == "0":
print("欢迎再次使用【名片管理系统】")
break
else:
print("您输入的不正确,请重新选择")
card_tools.py
card_list = []
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片管理系统】V 1.0")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("新增名片")
name_str = input("请输入姓名:")
phone_str = input("请输入电话:")
qq_str = input("请输入qq:")
email_str = input("请输入邮箱:")
card_dict = {"name": name_str,
"phone": phone_str,
"qq": qq_str,
"email": email_str}
card_list.append(card_dict) # 把字典加入到列表
print(card_list)
print("添加 %s 的名片成功" % name_str)
def show_all():
print("显示所有名片")
if len(card_list) == 0:
print("当前没有任何名片记录,请使用新增名片功能添加名片!")
return
for name in ["姓名", "电话", "qq", "邮箱"]:
print(name, end="\t\t")
print("")
print("=" * 50)
for i in card_list:
print("%s\t\t%s\t\t%s\t\t%s" % (i["name"],
i["phone"],
i["qq"],
i["email"]))
print("")
def search_card():
print("搜索名片")
find_name = input("请输入要搜索的姓名:")
for i in card_list:
if i["name"] == find_name:
print("姓名\t\t电话\t\tqq\t\t邮箱")
print("=" * 50)
print("%s\t\t%s\t\t%s\t\t%s" % (i["name"],
i["phone"],
i["qq"],
i["email"]))
# 处理名片
deal_card(i)
break
else:
print("没找到")
def deal_card(find_dict):
print(find_dict)
action_str = input("请选择要执行的操作 [1] 修改 [2] 删除 [0] 返回上级主菜单")
if action_str == "1":
find_dict["name"] = input("姓名:")
find_dict["phone"] = input("电话:")
find_dict["qq"] = input("qq:")
find_dict["email"] = input("邮箱:")
print("修改名片成功!")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片成功!")
else:
pass
Spark
是新一代内存级大数据框架,是大数据的重要内容。
Spark
就是用Scala
编写的
Scala
是Scalable Language 的简写,是一门多范式(范式指编程的方式,例如:面向对象(命令式编程)/函数式编程)的编程语言
Scala
里大量地使用了递归
Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言