zoukankan      html  css  js  c++  java
  • what's the python之变量、基本数据类型

    what's the 变量?

      Python 中的变量赋值不需要类型声明。

      变量在内存中创建,包括变量的标识,名称和数据。

      变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

      等号(=)用来给变量赋值。

      变量的定义:name=Jack  name即变量名,Jack即变量值。

      python中允许同时为多个变量赋值,如

    a=b=c=1#a=1,b=1,c=1
    a,b,c=1,2,3#a=1,b=2,c=3
    '''
    变量的赋值方式有很多种
      链式赋值:a=b=c=d=4    
      增量赋值:即将两个变量的值进行交换
    '''
    x=2
    y=4
    x,y=y,x

      值的解压:

    msg='hello'
    a,b,c,d,e=msg
    print(a,b,c,d,e)
    
    a,_,_,_,e=msg
    a,*_,e=msg
    print(a)#'h'
    print(e)#'o'
    
    dic={'a':1,'b':2,'c':3}
    x,y,z=dic
    print(x,y,z)#'a','b','c'

    声明变量注意事项

    1. 变量名只能是 字母、数字或下划线的任意组合
    2. 变量名的第一个字符不能是数字
    3. 以下关键字不能声明为变量名['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']   

    变量的比较:

      is比较的是id,只要id相同就说明数据指向同一个内存地址,所有数据都相同。==比较的是值,值相同并不说明数据相同

    程序交互:程序与用户之间的交互。如QQ界面的输入账户密码以登陆,就是一种程序交互。 

      执行输出

    name = input("What is your name?")
    age = input("How old are you?")
    hometown = input("Where is your hometown?")
    print("Hello ",name , "your are ", age , "years old, you came from",hometown)

    代码若很复杂,为了避免搞错或遗忘,可在相应代码后加注释,单行注释为代码后加#,再输入注释,多行注释就用三个引号引起来'''  '''


     

    基本数据类型

    基本数据类型分为数字、字符串str、列表list、字典dict、元祖tuple、集合set、布尔值

      数据类型分为可变数据类型不可变数据类型

    • 可变数据类型:在id不变的情况下,值value可以发生改变,如列表、字典、元祖、集合
    • 不可变数据类型:值value改变时id也会发生改变,如数字、字符串、布尔

       python 的所有数据类型都是类,可以通过 type() 查看该变量的数据类型:

      注:可变类型又可称为不可hash类型,不可变类型又可称为可hash类型。

    数字:分为整型int和浮点型float

      整型int(即整数形式):level=20;

      浮点型float(即带有小数点的类型):weight=65.5  price=13.5等等

    字符串str:

      描述性的数据,必须包在引号里面(英文格式,无论单双三引都可以) name='jack' ,sex='male'     

      字符串可进行拼接,如

    msg1='hello'
    msg2=' world'
    msg3=msg1+msg2
    print(msg3)#'hello world'

    列表list:

      包含在[ ]内,内部的元素可以是字符串、数字、列表、元祖、集合、字典,各自以逗号隔开。

      用途——存多个值,可以修改

    list1=[3,2,1,'hello']
    #增加元素
    list1.append('world')#[3,2,1,'hello','world']
    #删除元素
    list1.remove(3)#[2,1,'hello','world']
    del list[2]#[1,'hello','world']
    #修改元素的值,中括号中的0是索引,代表第一个位置,python中的索引是由0开始的
    list1[0]=8#[8,'hello','world']

    字典dict(无序):

      定义在{ }内,逗号分割,每一个元素的形式都是key:value。

      用途——存多个值,这一点与列表相同,值可以是任意数据类型。

      特征:每一个值都一个对一个的对应关系,即key,强调一点,key必须是不可变类型:字符串,数字。

    dic={'name':jack,'age':17,'hobby':['girls','money','delicious food']}
    #增加
    dic['sex']='male'
    #删除
    del dic[‘age']
    #修改
    dic['age']=18

    元祖tuple

      可以存放多个值。元祖是不可变类型,更多的是用来查询,元祖的写法与列表相似,只是将[ ] 改为( )。元祖也可以作为字典的key。

    t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))
    print(type(t))#<class 'tuple'>

      虽然元祖为不可变类型,但是只要元祖内部的元素的id不发生变化,其内部元素发生变化是允许的,如列表为元祖的元素,列表内元素发生变化但id不变是可以允许的。

     

    集合set

      定义在{ }内,可以包含多个元素,用逗号分隔。集合的元素必须是不可变类型,在集合中不会出现重复的元素(集合具有自动去重的功能),集合是无序的。

     

    布尔值:

      布尔值只有两种——True和False,布尔值的作用就是用来判断。

     

    总结

      变量赋值不需要声明类型,非常好用。

      数字类分为整型和浮点型,是不可变数据类型,改变数字数据类型会分配一个新的对象。

      列表用 "[ ]" 标识,内部元素用逗号隔开。

      元组用 "( )" 标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

      集合用 "{ }" 标识,内部元素用逗号隔开,集合中不会出现重复的元素,集合是无序的。

      字典用 "{ }" 标识,字典由索引 key 和它对应的值 value 组成,字典是无序的。

      列表可以直接赋值,元组不可以赋值,字典按照 dict[k]=v 的方式赋值。

      索引的下标是从0开始算起。

                              

  • 相关阅读:
    [C++]Linux之进程间通信小结【待完善】
    [转] thrift的使用介绍
    [转] splice系列系统调用
    [转] gdb中忽略信号处理
    [转] 确定性投资的框架
    [转] 投资策略及投资体系
    [转] 为什么医疗咨询服务公司Evolent Health仅用4年就华丽上市?
    [转] When exactly does the virtual table pointer (in C++) gets set for an object?
    [转] Linux写时拷贝技术(copy-on-write)
    [转] .bss段和.data段的区别
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/7412682.html
Copyright © 2011-2022 走看看