Python简单介绍

1. 编写python程序的两个地方

1.1 交互式环境 (cmd窗口)

1.2 写入文件(主流,永久保存代码),利用IDE集成开发环境,例如pycharm、vscode、sublime等

2. 运行pytho程序的三个阶段:

2.1 先运行python解释器;

2.2 python解释器将文件内容从硬盘读入内存;

2.3 python解释器识别内存刚刚读入的内容,解释执行。

3. 注释

3.1 多行注释:三个双引号

  """

       注释1

  注释2

  注释3

  """

  多行注释加在整个py文件的开头,用来对py文件整体说明,通常一个py文件只有一个多行注释。

3.2 单行注释

  # 注释1

  print("hello")   # 注释1

       单行注释可以在代码的上面或者代码右侧,通常代码较长,注释则写在代码的上面。

总结:

1)对代码进行注解说明,增强代码的可读性;

2)注释掉暂时不想运行的代码,起到调试的作用

4. 变量

4.1 什么是变量(底层逻辑)

  1)量:事物的状态

     变:事物的状态是可以变化的

          变量是一种存取内存的机制,可以把事物的状态存起来,并且可以取出修改

  2)为何要用变量

     是为了让计算机能够像人一样记住事物的状态,并可以修改

  3)如何使用变量

     原则:先定义,后引用

       定义语法:变量名 = 变量值

       name =  "jing"

       age = 233

     引用:变量名

4.2 定义变量的三大组成部分

4.2.1 变量名:访问变量值

4.2.2 赋值符号:把变量值的内存地址绑定给变量名

4.2.3 变量值:存储的数据

4.3 变量名命名

4.3.1 大前提:见名知意

4.3.2 规范

  1)字母、数字、下划线组成

    level = 66

    l1 = "J"

      age_of_jack =  26 

  2)不能以数字开头,下划线尽量不要单独使用

  3)不能于python关键字冲突

    and、as、assert、break、class、continue、def、elif、else,except、exec,finally、for、from、                   

         global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield

4.3.3 命名风格

  1)纯小写加下划线(推荐)

    age_of_jack =  26 

  2)驼峰体

             a.大驼峰:AgOfJack = 18

     b.小驼峰:userName = 'jason'

  注:我们在编写代码的过程中,命名风格应当上下保持一致

4.4 拓展

  print(1)

  print(2)

  asdasda    # 变量名没有被定义,逻辑错误

       print(3    # 语法错误

       print(4)

      

  age = 18

  age =  age + 1

  左值:赋值符号左边,存值行为

  右值:赋值符号右边,取值行为

5. 常量

  python中没有严格意义上的常量,默认使用全大写的变量作为常量,全大写的变量名主要用在配置文件

  ps:其他编程语言中有真正的常量,例如:js 中的pi

6. 变量值

5.1 变量值的两大特征

  1)id号:是变量值的身份证号,反映的内存地址 

          name = "jack"

     print (id(name))

  2)type类型

     print(type(name))

5.2内存管理机制

  1)垃圾回收机制GC

             处理方法:引用计数

     x = 10   # 值10引用计数为1

     y = x     # 值10引用计数为2

             y = 1000  # 值10引用计数为1

       del x     # 值10引用计数为0

      优化回收机制:a.分代回收,解决引用计数效率问题

          b.标记/清除,解决引用计数有可能发生内存泄漏问题

   ps:如果我们想要回收python程序内存空间,只能通过把变量值的引用计数减为零的方式实现

  2)小整数池:

     x =  257

             y =  257   

        print(id(x))

             print(id(y))  # cmd交互式环境范围:-5~256,地址不同;在pycharm解释器上,地址相同

     x = 'jack‘

     y = 'jacl'

             print(id(x))

             print(id(y))  # 地址相同

     x = [1,2,3]
y = [1,2,3]

            print(id(x))

            print(id(y))  # 地址不同

总结:1.id相等,值一定相等

   2.值相等,id不一定相等

拓展:

     1.is : 判断id是否相等

     2.== : 判断值是否相等

           

     l1 = [1,2,3]

     l2 = [1,2,3]

       print(l1 == l2)

       print(l1 is l2)

            # x = 运行一个功能()

            x = None

       x == None

       print(x == None) #  None只有一个值,应当使用print(x is None)

            

            x = 10

            y = x 

      print(x is y)   # Trun

7. 基本数据类型

7.1 数字类型

7.1.1 整型int

  记录人的年龄、号码等

  age = 18

  print(type(age))

       out

       <class 'int'>

7.1.2 浮点型float

  记录人的薪资、身高体重、体重等

  salary = 2.2

    print(type(salary)

       out

      <class, 'float‘>

  # x = 18

  # y = 1.8

  # print(x + y)     #  只有浮点型和整型之间能运算,其他不同类型之间不能运算

       # print(x > y)

  out

  #19.8

  #True

7.2 字符串str

  记录描述性质的状态,即引号引起来的部分,描述性的文本,比如名字、一段话、性别等

  name = 'richer'
  name1 = "richer"
  name2 = """richer"""
  name3 = '''richer'''
  # 三引号还可以用来表示注释

  msg = "my name is 'richer'"

  print(msg,type(msg))

  out

  <class,'str'>

  # age  # 变量名

  # "age"  # 变量值的一种,str

    # 了解:

  # print("abc"+"xxx")  # 同类型字符串能拼接
  # print("abc"*3)    # 字符串的复制
  # print("*"*50)
  # print('hello')
  # print("*"*50)

  # out 

  # abcxxx
  # abcabcabc
  # **************************************************
  # hello
  # **************************************************

7.3 列表 list

  中括号括起来,内部可以放多个元素,元素与元素之间用逗号隔开,元素可以是任何数据类型

       # 比如记录一个人的爱好
  # hobbies = "打篮球 阅读 看电影" 

  #         0     1    2
  # hobbies = ["打篮球", "阅读", "看电影"]
  # print(hobbies[1])     # 索引
  # print(hobbies[-1])

  # out

  # 阅读
  # 看电影

  #        0    1     2     3

  # l1 = [1111,1.3333,"aaa",['bbb','ccc']]
  # print(type(l1))
  # print(l1[3][0])

  # out

  # <class 'list'>
  # bbb

7.4 字典dict

  大括号括起来,内部可以存放多个元素,元素的表现形式是key:value键值对

    k一般是对v的描述性信息

    v可以是任何数据类型

  # info = ["egon", 18, 1.8, 80, "male"]
  # info = {
  #         "name": "egon",
  #         "age": 18,
  #    "height": 1.8,
  #    "weight": 80,
  #    "gender": "male"
  # }
  # print(info["name"])
  # info = ["egon",18,"male"]
  # dic = {"k1":11111,"k2":1.3,"k3":"xxx",'k4':[111,222,333],"k5":{"a":1,"b":2}}
  # print(dic['k4'][1])
  # print(dic['k5']["a"])

  #out

  #egon
  #222
  #1

7.5 布尔值bool(True ,False)

  # 记录真假
  # print(type(True))
  # print(type(False))
  # x = True
  # y = True
  # print(10 > 3)

       # out

    # True

  """
  当变量名存储的值是布尔值的情况下,那么变量名一般都是以is开头
  is_delete
  is_right
  is_status
  """



posted @ 2021-05-28 19:07  Richer-J  阅读(123)  评论(0)    收藏  举报