🥳🥳Welcome Huihui's Code World ! !🥳🥳
接下来看看由辉辉所写的关于Python的相关操作吧
目录
🥳🥳Welcome Huihui's Code World ! !🥳🥳
一.关于Python的基本知识(变量 ,注释)
二.数据类型
1.强类型&弱类型
2.静态类型&动态类型
3.基本数据类型
3.1字符串 str
3.2整数 int
3.3 浮点数 float
3.4布尔 bool
3.5 列表 list
3.6元组 tuple
3.7集合 set
3.8 字典 dict
三.使用Python完成一个简单的学生管理系统(控制台版本)
1.效果演示
2.代码展示
一.关于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()#调用函数
好啦,今天的分享就到这了,希望能够帮到你呢!😊😊