🥳🥳Welcome Huihui's Code World ! !🥳🥳
接下来看看由辉辉所写的关于Python的相关操作吧
目录
🥳🥳Welcome Huihui's Code World ! !🥳🥳
三.使用Python完成一个简单的学生管理系统(控制台版本)
一.关于Python的基本知识(变量 ,注释)
1.变量名规则 1.1变量名只能包含字母、数字和下划线,不能够以数字开头 1.2变量名不能包含空格,但可使用下划线来分隔其中的单词(一般也不用驼峰式命名,通常也是 使用下划线) 1.3不要将Python关键字和函数名用作变量名
2.注释 2.1单行注释:#注释 2.2.1多行注释:'''注释''' 2.2.2多行注释:"""注释"""
二.数据类型
1.强类型&弱类型
- 在强类型中,不管在编译时还是运行时,一旦某个类型赋值给某个变量,它会持有这个类型,并且 不能同其他类型在计算某个表达式时混合计算
- Java便是一种强类型的语言,即一旦赋值了一种类型给一个变量,那么这个变量的类型就不能够再被重新赋予另外一种类型
![]()
- 在弱类型中,它是很容易与其他类型混合计算的
- Python便是这种弱类型的语言,即一个类型赋值给一个变量后,这个变量不固定持有赋值的类型,后期若是再赋值一个其他类型给与这个变量,那么这个变量的类型便会改变
2.静态类型&动态类型
- 在静态类型语言(statically typed languages)中,类型检查发生在编译阶段(compile time),静态类型(static): 所有的变量类型必须被显示地声明,因为这些信息在编译阶段就被需要
- Java便是静态类型的语言,所有变量的类型必须在赋值的时候便标明变量类型,且不同类型的数据不能够做运算
- 在动态类型语言(dynamically typed languages)中,类型检查发生在运行阶段(run time) ,动态(Dynamic): 显示声明不被要求,因为类型赋值发生在运行阶段
- JavaScript便是动态语言,其中的变量不需要声明数据类型(数据类型的赋予都是使用关键字‘var’),即变量所拥有的值是什么类型,那么这个变量便是什么类型
那么这里也放置一个图解,我们通过图片的方式能够更加直观的看到各种编程语言的类型 ,那么我们也可以了解到python是一门动态的(dynamic)且强类型(strong)语言
3.基本数据类型
3.1字符串 str
用引号括起的都是字符串,其中的引号可以是单引号, 也可以是双引号
name="rose" print(name)#rose print(name,end=" ")#这里的end就是指两个字符串拼接,前面一个字符串以什么结尾的意思 name="jack" print(name)#rose jack
不加end输出的话便是单行输出数据
要注意的是数字类型的数据不能够与字符串类型的数据进行拼接➡会出现错误(这个错误的意思就是不支持整数类型与字符串类型拼接)
3.2整数 int
# 基本的运算 count = 7 print(count + 1) print(count - 1) print(count * 2) print(count / 2) #Python使用两个乘号表示乘方运算 print(count ** 2)
python中的‘/’与数学中的除法算出来的结果是一致的
3.3 浮点数 float
a=decimal.Decimal("0.1") b=decimal.Decimal("0.2") result=a+b print(result)
因为有时候我们在计算小数的时候,它后面的小数位不确定,那么这个时候我们便可以 使用decimal来处理数据
3.4布尔 bool
True False
>= <= == and or
0 None “ ” [ ]都是Falseprint(0 and 5)#0 print(1 and 0)#0 print(1 or 0)#1 print(5 and 1)#1
bool中有一个短路性质,我们可以运用这个性质解决一些棘手的问题,那么我们可以通过一个小案例来看一下到底什么是短路性质
#题目需求:假设需要检查一个数字是否大于0并且不是None,然后再进行相应的操作 def check_condition(value): result = value and "满足条件" or "不满足条件" print(result) check_condition(5 > 0) # 输出 "满足条件" check_condition(-3 > 0) # 输出 "不满足条件" check_condition(None) # 输出 "不满足条件"
输出结果
3.5 列表 list
lst = ['a', 'b', 'c', 'd'] print(lst[0])#a print(lst[-1])#d # 增 # insert lst.insert(3,"e")#前面的参数表示的是需要插入的下标,后面的参数是指插的数据 print(lst)#['a', 'b', 'c', 'e', 'd'] # append lst.append("f") print(lst)#['a', 'b', 'c', 'e', 'd', 'f'] # 删 # pop lst.pop(3) print(lst)#['a', 'b', 'c', 'd', 'f']\ # remove lst.remove("d") print(lst)#['a', 'b', 'c', 'f'] # 对列表进行永久性排序 sort lst.sort() print(lst)#['a', 'b', 'c', 'f'] lst.sort(reverse=True) print(lst)#['f', 'c', 'b', 'a'] # 对列表进行临时性排序 sorted sorted(lst) print(lst)#['a', 'b', 'c', 'f'] sorted(lst) # 确定列表的长度 len print(len(lst))#4 # 切片功能 # start: 起始下标 stop: 停止下标 step: 步长 # start和stop的正值代表列表下标,负值代表列表从左往右数起,倒数第几个数据。 # 方向由step确定,step为正时,从左往右切片,step为负时,从右往左切片。 # start和stop的空值分别代表列表的头尾的最后一个数据,至于start和stop空值的时候代表的是列 # 表的头还是尾,由step的正负值决定,即由step确定列表切片的方向后决定 print(lst[0:3:2])#['a', 'c'] print(lst[len(lst)-1:0:-2])#['f', 'b']
3.6元组 tuple
nums = (0, 1, 2) print(nums)#(0, 1, 2) a, b, c = nums print(a,b,c)#0 1 2
3.7集合 set
# 增 #add myset = {'a', 'b', 'c', 'd'} print(myset)#{'b', 'd', 'c', 'a'} myset.add('f') print(myset)#{'c', 'a', 'd', 'b', 'f'} #删 # remove myset.remove("a") print(myset)#{'f', 'b', 'd', 'c'} # in ¬ in print(a in myset)#False print(a not in myset)#True #集合的运算 a = {1, 2, 3, 4} b = {3, 4, 5, 6} print(a - b)#{1, 2} print(a | b)#{1, 2, 3, 4, 5, 6} print(a & b)#{3, 4} print(a ^ b)#{1, 2, 5, 6}
3.8 字典 dict
字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典
mydict = {'color': 'red', 'points': 7} print(mydict)#{'color': 'red', 'points': 7} print(mydict['color'])#red #增 mydict['name'] = 'wh' print(mydict)#{'color': 'red', 'points': 7, 'name': 'wh'} #删 del mydict['name'] print(mydict)#{'color': 'red', 'points': 7}
三.使用Python完成一个简单的学生管理系统(控制台版本)
1.效果演示
2.代码展示
def create_student():#def用于定义函数 sid = input("请输入学生的学号: ")#从用户输入中获取学生学号 name = input("请输入学生姓名: ") # input:获取到用户在控制台输入一些内容,并以字符串的形式返回用户所输入的内容 从用户输入中获取学生姓名 age = int(input("请输入学生年龄: ")) # 从用户输入中获取学生年龄 student = {"学号":sid,"姓名": name, "年龄": age} # 创建一个包含学生姓名和年龄的字典(键值对方式) students.append(student) # 将学生信息字典添加到学生列表中 print("成功创建学生信息!") def read_students(): print("所有学生信息:") for student in students: print(f"学号:{student['学号']},姓名: {student['姓名']}, 年龄: {student['年龄']}") def update_student(): sid = input("请输入要更新的学生学号: ") # 从用户输入中获取要更新的学生姓名 found = False # 初始化一个变量,用于标记是否找到要更新的学生信息 for student in students: if student["学号"] == sid: # 如果学生姓名与要更新的姓名匹配 new_age = int(input("请输入新的年龄: ")) # 从用户输入中获取新的年龄,因为获取的是字符串类型,所以需要转成int➡int(input()) student["年龄"] = new_age # 更新学生信息中的年龄 new_name = input("请输入新的学生姓名: ") # 从用户输入中获取新的年龄,因为获取的是字符串类型,所以需要转成int➡int(input()) student["姓名"] = new_name # 更新学生信息中的年龄 print("成功更新学生信息!") found = True # 标记为找到要更新的学生信息 break if not found: # 如果没有找到要更新的学生信息 print("未找到该学生学号!") def delete_student(): sid = input("请输入要删除的学生学号: ") # 从用户输入中获取要删除的学生姓名 found = False # 初始化一个变量,用于标记是否找到要删除的学生信息 for student in students: if student["学号"] == sid: # 如果学生姓名与要删除的姓名匹配 students.remove(student) # 从学生列表中删除该学生信息 print("成功删除学生信息!") found = True # 标记为找到要删除的学生信息 break if not found: # 如果没有找到要删除的学生信息 print("未找到该学生姓名!") def main():#自定义函数 while True:#循环 print("\n请选择操作:") print("1. 创建学生信息") print("2. 查看所有学生信息") print("3. 更新学生信息") print("4. 删除学生信息") print("0. 退出") choice = input("请输入操作编号: ") if choice == "1": create_student() elif choice == "2": read_students() elif choice == "3": update_student() elif choice == "4": delete_student() elif choice == "0": print("程序已退出。") break else: print("无效的选择,请重新输入。") if __name__ == "__main__":#相当于Java中的main方法 main()#调用函数
好啦,今天的分享就到这了,希望能够帮到你呢!😊😊