从零开始学Python(一)基本变量与数据类型

🥳🥳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 “ ” [ ]都是False

print(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 &not 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()#调用函数

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊  

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是辉辉啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值