• Python入门、环境搭建、变量、数据类型


    目录

    前景

    官方下载

    基本数据类型

    动态语言的体现

    静态语言的体现

     弱语言的体现

    强语言的体现  

    注释

    整数

     浮点型

     浮点型计算方案

     字符串

    布尔 

    引用数据类型

    列表 [ ]

    列表方法

    集合Set{}

    基本方法

     特殊需求方法

     应用场景

    字典{}

    常见操作

    元组

    操作符

    练习


    前景

     1989年圣诞节期间,荷兰人吉多范罗苏姆为了打发无趣的圣诞节而创造了Python,但Python的真正诞生是在1991年。Python的名字取自英国20世纪70年代首播的电视喜剧《蒙提派森的飞行马戏团》。现在已经更新到Python 3.0版本了。

    1. Python是一门跨平台的计算机编程语言。        

    (即Python可以在Windows、评估操作系统中进行运行)

    2. Python中是一种解释型语言,开发过程中是没有编译这个环节,与Java不一样。

    3. Python是一种交互是语言,可以在>>>后直接执行代码。

    (即可以在本机当中直接搜索Python,打开Python 3.9,在>>>后面就可以直接写代码啦)

    官方下载

    Python环境安装包下载

    https://www.python.org/
    https://www.python.org/downloads/windows/

    Python开发工具PyCharm下载

    https://www.jetbrains.com.cn/en-us/
    https://www.jetbrains.com.cn/en-us/pycharm/

    插件安装

    #软件汉化
    Chinese (Simplified) Language Pack/中文语音包
    #英文翻译
    Translation


     

    基本数据类型

    Python是面向对象语言,万物皆对象。Python是一门动态的(dynamic)且强类型(strong)语言

    动态语言的体现

    1. #JavaScript 以下代码不会报错,数据类型可以变化
    2. let a = 1;
    3. a = "abc";

    静态语言的体现

    1. #java 以下代码会报错,数据类型不能变化
    2. int a = 1;
    3. a = "abc";

     弱语言的体现

    1. #JavaScript 以下代码不会报错,数据类型可以进行计算
    2. <script type="text/javascript">
    3. function abc(){
    4. let a = "1" * 2;
    5. alert(a);
    6. }
    7. </script>
    8. <body>
    9. <button type="button" onclick="abc()">测试</button>
    10. </body>

    强语言的体现  

    1. #计算字符串叠加效果
    2. print("1")
    3. print("1"*2)
    4. print(1*2)
    5. print('1'*3)

    java八大基本数据类型                                  Python四大基本数据类型

    1. #数字类型
    2. byte/short/int/long 整数 int int
    3. #浮点型
    4. float/double 浮点型 double float
    5. #文本
    6. char 字符串 string string
    7. #布尔类型
    8. boolean 布尔 boolean bool

    注释

    # 单行注释    Ctrl + Alt + L 代码格式化
    """
    多行注释
    """

    '''
    多行注释
    '''

    整数

    # 整数 int int
    a1 = 1000   # 十进制
    a2 = 0x1000  # 16进制
    a3 = 0o1000  # 8进制
    a4 = 0b1000  # 2进制
    print(a1)
    print(a2)
    print(a3)
    print(a4)

     浮点型

     # 浮点型 double float
    f1 = 0.6
    f2 = 0.2
    print(f1 - f2)
    d1 = decimal.Decimal(0.6)
    d2 = decimal.Decimal(0.2)
    print(d1-d2)
    d1 = decimal.Decimal('0.6')
    d2 = decimal.Decimal('0.2')
    print(d1-d2)

     浮点型计算方案

    #问题
    所有和小数相关的运算全部是不准确的
    #java中避免精度不准确
    1.所有的货币单位全部下调
           1毛:     0.1元    10分     100厘
    2.使用对应的类型 BigDecimal -> Decimal
    3.数据库使用decimal(9,2)

     字符串

    # 字符串 string string
    name = "hello world"
    print(name)
    name = "hello 'world'"
    print(name)
    name = "hello \"wor\"ld"
    print(name)
    name = "hello \t world"
    print(name)
    name = "hello \n world"
    print(name)
    name = 'hello world'
    print(name)

    布尔 

    # 布尔 boolean bool
    b1 = True
    b2 = False
    print(b1,b2)
    # python中为false的情况
    #   0 , '' , [], {}, () , None , False
    print(1 and 2 and 3 and 4)
    print(1 and 2 and 0 and 4)
    print(1 and 2 and '' and 4)
    print(1 and 2 and [] and 4)
    print(1 and 2 and None and 4)
    print(1 and 2 and False and 4)
    print(1 and 2 and {} and 4)
    print(1 and 2 and () and 4)
    print(1 and 2 and 'axs' and 4)

    引用数据类型

    类型                     java                        Python

    列表                   ArrayList                 list
    集合                    set                          set
    字典                    map                        dict
    数组                   Array                        tuple

    列表 [ ]

    列表方法

    # 添加内容  stack栈: push放   pop拿
    # 列表的定义,有值无值的分别定义方式
    # pop 拿元素(删除元素)
    # extend 追加
    # copy 复制新的引用
    # append 追加
    # l1.sort() 排序
    # l1.sort(reverse=True) 倒序
    # remove 删除某个元素
    # insert 插入
    # clear 清空
    # l1[开始:结束:步长]

    1. # 列表 ArrayList -> list
    2. l1 = list()
    3. l1 = []
    4. l1 = [1, 3, 4, 2, 5]
    5. print(type(l1))
    6. # 添加内容 stack栈: push放 pop拿
    7. # pop 拿元素(删除元素)
    8. print(l1.pop())
    9. print(l1)
    10. # extend 追加
    11. l1.extend([9,8])
    12. print(l1)
    13. # copy 复制新的引用
    14. l2 = l1.copy()
    15. l3 = l2
    16. print(l2)
    17. # append 追加
    18. l2.append({7,6})
    19. print(l1)
    20. print(l2)
    21. print(l3)
    22. # l1.sort() 排序
    23. # l1.sort(reverse=True) 倒序
    24. l1.sort()
    25. print(l1)
    26. l1.sort(reverse=True)
    27. print(l1)
    28. # remove 删除某个元素
    29. l1.remove(8)
    30. print(l1)
    31. # insert 插入
    32. l1.insert(1,33)
    33. print(l1)
    34. # 反转数组中的元素
    35. l1.reverse()
    36. print(l1)
    37. l1.reverse()
    38. print(l1)
    39. # 查找字符出现的次数
    40. l1.append(4)
    41. print(l1.count(4))
    42. print(len(l1))
    43. # clear 清空
    44. l1.clear()
    45. print(l1)
    46. print('========================================')
    47. # 切片
    48. l1 = [1, 2, 3, 4, 5, 6, 7]
    49. # 拿到 【2, 3, 4
    50. print(l1[1:4])
    51. # 删掉【2, 3, 4
    52. l1[1:4] = [] # 1,5,6,7
    53. print(l1)
    54. # 添加 【2, 3, 4
    55. l1[1:1] = [2, 3, 4]
    56. print(l1)
    57. # l1[开始:结束:步长]
    58. print(l1[-1::-1])
    59. print(l1[::2])

    集合Set{}

    基本方法

    # 集合 Set -> set
    # 元素唯一且无序
    # 如果是新建空的set集合 需要使用set()
    s1 = {}
    print(type(s1))
    s1 = set()  # s1={}方法建出来的是一个dict对象
    print(type(s1))
    s1 = {1, 2, 3, 4, 5, 6, 1, 1, 1}
    print(type(s1))

    '''增删改查'''
    # s1.clear()
    # s1.copy()
    # s1.remove()
    # s1.pop()
    # s1.add()

     

     特殊需求方法

    1. s1 = {1, 2, 3}
    2. s2 = {3, 4, 5}
    3. # s1.difference(s2) 取差集
    4. s3 = s1.difference(s2)
    5. print(s1)
    6. print(s2)
    7. print(s3)
    8. # s1.discard() 删除元素
    9. print(s1.discard(4)) # 删除不报错
    10. print(s1)
    11. # print(s1.remove(4)) #删除报错
    12. print(s1)
    13. # s1.intersection() 取交集
    14. s3 = s1.intersection(s2)
    15. print(s1)
    16. print(s2)
    17. print(s3)
    18. print('=================')
    19. m1 = {1, 2, 3}
    20. m2 = {3, 4, 5}
    21. # 并集
    22. print(m1 | m2)
    23. # 交集
    24. print(m1 & m2)
    25. # 差集
    26. print(m1 - m2)
    27. # 平均差集
    28. print(m1 ^ m2)
    29. # 再xx里面是否存在
    30. print(1 in m2)
    31. print(1 not in m2)

     应用场景

    1.公司抽奖
    2.黑名单用户取差集

    # 抽奖
    users = {'zs', 'ls', 'ww', 'zl', 'tq'}
    print(users.pop())
    # 黑名单去重
    black = {'ls', 'zl'}
    print(users - black)

    字典{}

    常见操作

    1. person = {
    2.     "name": "root",
    3.     "pwd": "123"
    4. }
    5. # 拿值
    6. print(person['name'])
    7. # 改值
    8. person['pwd'] = 123
    9. # 给一个新的值
    10. person['age'] = 456
    11. print(person)
    12. person[1] = 'aa'
    13. print(person)
    14. person[(1, 2)] = '黑'
    15. # 定义一个空的dict
    16. dog = {}
    17. print(type(dog))

    元组

    1. # 元组 array -> tuple
    2. # 性质和list一致,不能做增删改
    3. # list:[] set:{} 元组:() 字典dict:{}
    4. t1 = (1, 2, 3)
    5. print(t1)
    6. t2 = 1, 2, 3, 4, 5
    7. print(t2)
    8. # 写一个只具备一个元素的元组
    9. t3 = 1,
    10. print(type(t3)) # <class 'tuple'>
    11. t3 = 1
    12. print(type(t3)) # <class 'int'>
    13. print(t3)

    操作符

    # 操作运算符
    # + - * /
    print(5 + 2)
    print(5 - 2)
    # print("a"+2)  # 报错,强类型
    print("a" * 2)
    print(5 * 2)
    print(5 / 3)
    print(5 // 3)
    print(5 % 3)
    print(5 ** 3)

    l1 = [1, 2, 3]
    l2 = [3, 4, 5]
    print(l1 + l2)
    print(l1 * 2)

    print('hello' * 20)

    name = 'sa'
    age = 18
    # print('学生姓名为:' + name + ',年龄为:'+age)
    print(f'学生姓名为:{name},年龄为:{age}')

    练习

    使用变量存储:姓名,性别,年龄,薪资,建议

    使用控制台完成学生信息的CURD

    1. students = {}
    2. def show_menu():
    3. print("欢迎光临学生管理系统v1.1:")
    4. print("1、添加学生")
    5. print("2、查找学生")
    6. print("3、展示所有")
    7. print("4、删除学生")
    8. print("5、修改学生")
    9. print("6、退出系统")
    10. def add_stu():
    11. # 添加学生逻辑
    12. name = input("学生姓名")
    13. score = input("学生分数")
    14. student = {'name': name, 'score': score}
    15. students[name] = student
    16. print("添加成功")
    17. def search_stu():
    18. # 输入要查找的学生姓名
    19. search_name = input("请输入你要查找的学生姓名")
    20. all_keys = students.keys()
    21. if search_name not in all_keys:
    22. print("没有你要查找的学生")
    23. else:
    24. student_dict = students[search_name]
    25. # print("name:%s score:%d" % (student_dict['name'], student_dict['score'])) #python2.x的写法
    26. print(f"name:{student_dict['name']} score:{student_dict['score']}") #python3.x的写法
    27. def all_stus():
    28. print("所有学生信息如下", end=":")
    29. # print(students)
    30. for key, stu_dic in students.items():
    31. print("key:%s" % key)
    32. print("name:%s score:%s" % (stu_dic['name'], stu_dic['score']))
    33. def del_stu():
    34. del_name = input("请输入要删除的学生姓名")
    35. all_keys = students.keys()
    36. if del_name in all_keys:
    37. del students[del_name]
    38. print("删除成功")
    39. else:
    40. print("没有该学生或者已经删除")
    41. def update_stu():
    42. # 修改逻辑
    43. update_name = input('请输入你要修改的学生的姓名:\n')
    44. all_keys = students.keys()
    45. if update_name not in all_keys:
    46. print("没有该学生")
    47. else:
    48. new_name = input("请输入新名字")
    49. new_score = int(input("请输入新分数"))
    50. new_stu = {'name': new_name, 'score': new_score}
    51. # 将旧学生删除
    52. del students[update_name]
    53. students[new_name] = new_stu
    54. print("修改成功")
    55. def exit_sys():
    56. print("退出系统,欢迎再次使用")
    57. # 调用系统的结束函数
    58. exit(0)
    59. while True:
    60. show_menu()
    61. choose = input("请选择1-6:")
    62. if choose == '1':
    63. add_stu()
    64. elif choose == '2':
    65. search_stu()
    66. elif choose == '3':
    67. all_stus()
    68. elif choose == '4':
    69. del_stu()
    70. elif choose == '5':
    71. update_stu()
    72. elif choose == '6':
    73. exit_sys()
    74. else:
    75. print("输入有误,请重新输入!!!")
  • 相关阅读:
    打开深度学习的锁:(1)入门神经网络
    C语言中malloc(),free(),calloc(),realloc()
    面向面试的机器学习知识点大全
    2023年11月15号期中测验编程题(Java)
    Java高级---Spring Boot---6Web开发
    HTML网页设计结课作业——基于HTML+CSS仿学校官网页面
    如何判断文档管理系统是否面向未来
    速领,阿里巴巴Java开发手册终极版
    excel中如何使用Replace函数?
    k8s 读书笔记 - 深入掌握 Pod 扩缩容
  • 原文地址:https://blog.csdn.net/weixin_67780833/article/details/128055285