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开始算起。

 

 

                          

posted @ 2017-07-24 17:30  ''竹先森゜  阅读(2191)  评论(0编辑  收藏  举报