zoukankan      html  css  js  c++  java
  • python基础2

    一、内存管理

    1、Cpython解释器的垃圾回收机制

    什么是垃圾:当一个值身上没有让你绑定任何变量名(该值引用计数为0)时,该值就是一个垃圾。

    引用计数增加:
    age=18  #18的引用计数等于1
    x=age    #18的引用计数等于2
    print(age)
    print(x)
    引用计数减少:
    age=19  #18的引用计数等于1
    print(age)
    del x   #18的引用计数等于0

      

    2、变量值的三个特征:

    i

    d:反应的是内存地址
    type:数据类型
    值:
    age=18
    print(id(age)
    print(type(age))
    print(age)
    总结:
    2.1. id相同,值一定相同
    2.2. 值相同,id不一定相同
    '''
    >>> x='name:egon age:18***'
    >>> y='name:egon age:18***'
    >>> id(x)
    2847698422856
    >>> id(y)
    2847698422928
    '''
    # x=11111111111111111111111111231231231231222222222222
    # y=11111111111111111111111111231231231231222222222222
    #
    # print(id(x))
    # print(id(y))

     

    3、is与==

    ==:值是否相等
    is:id是否相等

    4、可变类型与不可变类型

    可变类型:值改变,id不变,证明就是在改变原值
    不可变类型:指改变,id也变,证明根本不是在改变原值,是创建了新值,原值就是不可改变类型
    x=10
    print(id(x))
    x=11
    print(id(x))
    l=['a','b','c']
    print(id(l))
    l[0]=A
    print(id(l))
    print(l)

    二、python2中与用户交互

    1、在python3中只有一个input

    特点:用户输入的任意内容都存成str类型
    x=input('>>>:')  #x='123123123'
    print(type(x))
    salary=input('>>:')  #salary=3000
    salary=int(salary)
    print(salary*12)

    2、在python2中只有一个raw_input,与python3中input一模一样

    x=raw_input('>>>:')
    要求用户必须输入一个明确的类型,输入什么类型,就存成什么类型
    x=input('>>>:')

    三、数据类型基本使用

    一、数字类型

    1、整形int:

    作用:用来记录年龄、等级、各种号码状态
    定义:
    age=10 #age=int(10)
    print(type(age))
    使用:
    print(age+1)
    print(age>3)

    2、浮点型float

    作用:用来记录身高、体重、工资状态
    定义:
    salary=3.1 #salary=float(3.1)
    # print(type(salary))
    #使用:
     print(3.1 + 2.3)
     print(3.1 > 2.3)
     print(3.1 > 2)
     print(3.1 + 2)

    二、字符串类型str

    作用:用来记录描述性质状态,比如名字、性别
    定义:在单引号(''),双引号("")三引号(’‘’ ‘’‘  """  """)包含一系列字符
    x='abc'
    x="abc"
    x="""
    abc
    xxx
    """
    msg='my name is "egon"'
    使用:
    print('abc'+'def')#仅限于str类型直接相加
    print('abc*10')#  *的只能是数字
    了解字符的大小:ASCII表
    x='abcdef'
    y='z'
    print(x > y)
    print('a' > 'Z' )
    print('a' > 10 )

    三、列表类型:list

    作用:用来记录多个值,用索引对应值,索引反映是位置
    定义:在[]内用逗号分隔开多个任意类型的值
    l=[1,3.1,'xxx',['a','b','c']] #l=list(...)
     print(type(l))
    使用
     print(l[0])
     print(l[2])
     print(l[3][0])
     students_info=[
         ['egon',18,['play',]],
         ['alex',18,['play','sleep']]
         ]
    ​
    #print(students_info[1][2]

    四、字典类型dict

    作用:用来记录多个值,用key对应value,其中key对value有描述性功能
    定义:在{}内,用逗号分割开多元素,每一个元素都是key:value的形式,其中value是可以任意类型,而key通常应该是str类型
    x':1,'y':3.1,'z':['a','b'],'m':{'aaa':1111}} #d=dict(...)
    print(type(d))
    使用:
    print(d['x'])
    print(d['m']['aaa'])
    print(d['z'][1])

    列表的方式

    name   age  gender   compay_info
    emp_info=['egon',18,'male',['Oldboy','SH',200]]
    print(emp_info[1])
    print(emp_info[3][2])

    字典方式

    emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]}
    ​
    print(emp_info['age'])
    print(emp_info['company_info'][0])
    names=['egon','alex','kevin']
    dic={'name1':'egon','name2':'alex','name3':'kevin'}

    五、布尔类型:True,Flase

    print(type(True))
    print(type(False))
    ​
    tag1=True
    tag2=True
    print(id(tag1))
    print(id(tag2))
    ​
    age=18
    print( age > 18)

    所有数据类型自带布尔值

    布尔值为假的数据类型:0,None,空

    print(bool([]))
    print(bool(''))
    print(bool(None))

    六、None

    print(type(None))

    四、基本运算符

    1、比较运算符

    > >=
    < <=
    ==
    !=
    print(10 != 11)
    了解:
    x=None
    print(x == None)
    print(x is None)
    l1=['abc',1,['a','b','c']]
    l2=['abc','aa',]
    print(l2 > l1)

    逻辑运算符:

    and连接左右两个条件,只有两个条件同时成立时and运算结果为True
    print(10 > 9 and 3 > 2 and 'egon' == 'egon' and True)
    or:连接左右两个条件两个条件成立任意一个or运算结果为True
    print(False or False or True or False or 3 > 10)
    res=(True or (False and True)) or ((False or True) and False)
    res=(True or False) or (True and False)
    res=True or False
    print(res)
    not
    print(not 10 > 3)
    x=None
    print(not x is None)
    print(x is not None)
    age1=18
    age2=19
    print(age2 is not age1)
    name_bk='egon'
    pwd_bak='123'
    name=input('please input your name: ')
    pwd=input('please input your password: ')
    if name == name_bk and pwd == pwd_bak:
        print('login successfull')
        print('login successfull')
        print('login successfull')
        print('login successfull')
        print('login successfull')
    else:
        print('username or password error')

     

  • 相关阅读:
    java代码---------常用的方法indexOf()和substring()方法的小结、主要是下标都是从0开始,很重要,错了就那个差远了啊
    java代码-----indexOf()方法--从字符串的某个字符的第一次出现的位子开始
    java代码----substring()方法是按索引截取字符串。。。下标0开始
    java代码啊==indexOf()方法返回字符第一次出现的位置
    java代码------实现从控制台输入整型,
    java代码----I/O流从控制台输入信息判断并抛出异常
    (转)pip和easy_install使用方式
    小小粉丝度度熊
    P1613 跑路
    P3819 松江1843路
  • 原文地址:https://www.cnblogs.com/liushen1995/p/9983930.html
Copyright © 2011-2022 走看看