• python基础学习(起步)


    python基础学习(起步)


    让我们一起跟着python大师学习魔法,学习的第一天python大师就传授了这样几个概念:

    变量

    1. 什么是变量?

      变量顾名思义,就是变化的量。世间万物的属性都可以看做是变量,比如身高、体重。

    2. 引用变量的目的?

      既然万物的属性都有个状态或者值,那么就应该有个标签去描述它并存储,以便下次使用的时候直接调用。

    3. python下变量的表示形式

      name = "猪猪侠"
      age = 8
      爱好 = ["打抱不平","吃零食"]
      

      ***注意避开一下关键字:

      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
      
    4. 变量命名方式

      • 驼峰体

        AgeOfGGBond = 8
        
      • 下划线(推荐)

        age_of_GGBond = 8
        

    常量

    既然有变量,那么就必然要有常量,在python中常量的本质还是变量的一种表示形式,但是默认全大写字母表示常量,如:

    NAME = "GG Bond"
    

    pyhton 似乎不可以像JAVA那样声明 finally int age = 8

    变量的内存管理

    在python中创建变量的同时,计算机会自动分配一个内存地址用于存储变量数据,值得一提的是,如果a不是b的别名(即不存在a=b这样的直接或间接的赋值语句),那么理论上”a is b"(即使a==B)返回的应该是False,意思就是他们的指向的内存地址不一样。但是以下数值不适用以上的理论:

    • [-5,256]的整数:python为了优化速度,避免为整数频繁地申请及释放内存空间,设置了小整数池[-5,256],这个范围内的整数都是预先创建好的,不会被垃圾回收机制回收。(同理,单个字母也是这样)

    • bool: 布尔类型

    • str :

      1. 长度小于等于1,直接缓存

      2. 长度大于1.字符串中如果只有数字,字母,下划线,就会缓存

      3. 使用sys模块中的intern()缓存字符串,机制如下:

      ​ intern机制就是让他只占用一个"helloooooooooooooooooo"所占的内存空间。靠引用计数去维护何时释放。

    python垃圾回收机制

    上文我们提到python的垃圾回收机制,那么他到底是什么样的呢?简单解释就是依靠引用计数去判断这个数据是不是活动对象,如果对象的引用计数为,那么系统会立刻释放该对象。(大部分情况下是如此的,其他情况会用到另外的清除算法,我们可能会在以后进行探讨)

    变量的其他赋值方式

    变量除了有传统的a=1这样的赋值方式,还有以下几种常用的赋值:

    1. 链式赋值
    a = b = c = d = 10
    
    1. 交叉赋值

      x = 1
      y = 2
      x,y = y,x # x=2 y=1
      

    今日编程小题

    需求:给定一个标准年龄,用户通过输入年龄判断年龄是否等于标准年龄,如果等于——打印猜对了;如果小于——打印猜小了;如果大于——打印猜大了

    age=22
    condition=1
    while condition:
        guess=input("你猜小明今年多大了?")
        if guess.isdigit():     #判断输入的是否是数字
            gs=int(guess)
            if gs==age:
                print("33[1;31;m恭喜你猜对咯!33[0m")  #红色高亮字体提醒
                condition=0
            elif gs < age:
                print("33[1;34;m猜小了!33[0m")   # 蓝色高亮字体提醒
            elif gs> age :
                print("33[1;36;m猜大了!33[0m")   #青蓝色高亮字体提醒
        else:
            print("33[1;31;46m请输入正确的数字哦!33[0m")  #青蓝背景+红色文字
    
    

    **关于代码中字体颜色的改变我会在另一篇随笔中详细列出

    本人能力有限,若有偏颇之处请读者大大不吝赐教!

    祝大家每天都在成长!

  • 相关阅读:
    Heterogeneity Wins
    Android使用ImageView显示网络图片
    Android OOM的解决方式
    洛谷P3390 【模板】矩阵快速幂
    CF732D. Exams[二分答案 贪心]
    洛谷P3388 【模板】割点
    POJ2942 Knights of the Round Table[点双连通分量|二分图染色|补图]
    NOI2001|POJ1182食物链[种类并查集 向量]
    HDU3038 How Many Answers Are Wrong[带权并查集]
    NOIP2010关押罪犯[并查集|二分答案+二分图染色 | 种类并查集]
  • 原文地址:https://www.cnblogs.com/Du704/p/11265958.html
Copyright © 2020-2023  润新知