py04_数据类型与运算

一、什么是数据类型

定义变量时,变量值才是我们需要存储的数据,一般数据类型指的就是变量值的不同种类

二、数据类型为什么需要分类?

变量值是用来保存现实世界中的状态的,所以针对不同的状态就就需要用不同的类型的数据去表示

三、该怎么用?

#用户与程序交互

#python3 (input)=python2 (raw_input)

#在python3中,用户input的内容都是字符串(str)类型

四、基本的数据类型

1.整型-int

定义:age = 30  # age=int(30)

print(id(age))

print(type(age))

print(age)

使用方法:记录年龄、银行卡号、等级

2.浮点型-float

定义: salary = 3000.2   #salary=float(3.1)

print(id(salary))

print(type(salary))

print(salary)

使用方法:记录薪资、身高、体重

3.字符串-str

定义:

在单引号、双引号、三引号内包含的一串字符

#hobby = "read"  # hobby==str(“read”)
#msg='''
#    today
#    hello
#    sunshine
#    '''
#print(type(hobby))
#print(tape(msg))

注意:

msg="my name is 'xxx'"

print(msg)

作用:表示描述性质的状态并记录此时的状态,如:人名,家庭住址

如何使用:

字符串类型只能:+或者*

#msg="hello"
#name="Namy"
#print(msg+name)      #helloNamy

#name="Namy"
#print(name*5)          #NamyNamyNamyNamyNamy

#name1="Pizza"
#name2="Namy"
#print(name1>name2)#同种类型的字符串进行比较(先比较首个字符,若首字符一样,再比较第二个字符,知道比较出结果)

4.列表-list

作用:

用来存放当前状态的多个数据信息,且一般数据类型较单一或者数量少

定义: product = ["airplane", "train", "car"]   #在逗号内用逗号分隔开多个“任意”类型的值

#product = ["phone",{"name":"alex","sex":"male"},1]  # product=list(["phone",{"name":"alex","sex":"male"},1])
#print(id(product))
#print(type(product))
#print(product)

#name1="Namy"
#name=["hello","sunshine",name1]
#print(name) #["hello","sunshine",Namy]

 怎么使用列表:

按照索引取值    #索引是从0开始的
#hobbies=["read","run","basketball"]
#print(hobbies)
#print(hobies[1])  

#l=["Namy","female",["sing",28]]
#print(l[2][1])

练习:

#students_info=["Namy",18,["play","sing"],["Luffy",18,["eat","sleep"]]] 

#取出第二个学生的第一个爱好

#print(students_info[3][2][0])

5.字典-dict

作用:用来存取多个值。按照key:value的方式存放的值,取的时候可以通过key而非索引去取值,key对value有描述性功能

定义:在{}内用逗号分隔开多个元素,每个元素都是key:value的格式,其中value可以是“任意”类型,key大多数情况下都是字符串类型

#  user_info=["Namy","female",18,["sing","dance",22222]]

#print(user_info[1])

#print(user_info[3][2])

#print(user_info[3])

 
user_info={
         "name":"Namy",
          "sex":"female",
          "age":18,
          "company":{"c_name":"pirates""c_addr":"ocean","members":7}

}
#print(id(user_info))
#print(type(user_info))
#print(user_info)
#print(user_info["name"])                                   #Namy
#print(user_info["company"]["c_name"])                      #pirates
info = {"name":"cattle","hobbies":["eat","sleep"],"sex":"female"}
字典嵌套列表

6.布尔值-bool

作用:用于判断的条件,只有True和False

定义:True,False

#print(10>2  and 3>14)

#print(type(True))

重点:

*****所有的数据类型本身就是一种布尔值,即所有的数据类型都可以当作条件去使用

***0;None;空(空字符串、空字典、空列表、空元组、空集合)都是False;

***其余的值均为真

print(bool(0))

print(bool(None))

print(bool(""))

print(bool([]))

print(bool({}))

# 可变类型:id不变的前提下,value改变,则称为可变类型,比如字典、列表
# 不可变类型:vulue一旦改变,id也跟着该变,则成为不可变类型(id改变则建立新的内存空间来保存value)

五、格式化输出

1.占位符   

%s:实际上可接收任意类型的值

%d:只可接收int类型的值

name = input("请输入姓名:")
age = input("请输入年龄:"print"My name is %s and my age is %s" %(name,age))
View Code
练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Egon -----------
Name  : Egon
Age   : 22
Sex   : male
Job   : Teacher 
------------- end -----------------

name = input("Name:")
age = input("Age:")
sex =input("Sex:")
job = input("Job:")
msg ="""
--------info of %s---------
name:%s
age:%s
sex:%s
job:%s
""" %(name,name,age,sex,job)
-------------end----------
print(msg)
小练习
 

六、基本运算符

A.算术运算

1.+  -   *   /

2.// :整除

%:取余数(a%b表示a/b之后的结果就是余数,而不是a/b的值)

** :冥(a**b表示a的b次方)

B.逻辑运算

and  :两边条件同时成立结果才为真

or    :两边只要有一边条件成立结果就成立

not  :否定后边的条件

C.比较运算

>   <     >=        <=     !=     ==

#列表之间比较大小,仅限于相同位置对应的值是同一类型
#l1=[1,"a",3]
#l2=[1,3]

#print(l1>l2)      #TypeError: '>' not supported between instances of 'str' and 'int'
*****重点:
链式赋值
#a=10
#b=a
#c=b
#d=c

#a=b=c=d=10


交叉赋值
#x=10
#y=20

#temp=x
#x=y
#y=temp
#print(x,y)

#x,y=y,x
#print(x,y)


变量值的解压缩
#l=["Namy","luffy","Brooke","Sauro"]
#x=l[0]
#y=l[1]
#z=l[2]

#x,y,z=l
#print(x,y,z)

#l=["Namy","Luffy","Brooke","Sauro"]
#x,y,z,a=l
#print(x,y,z,a)
#_="Brooke"
#print(_)     #Brooke

#_,_,x,y=l
#print(_)      #Luffy(输出最后一个_所代表的变量)

#_,x,_,y=l
#print(_)       #Brooke


#performance=[1,2,3,4,5,6,7,8,9]
#mon1,mon2,mon3,*_=performance
#print(mon1)
#print(mon2)
#print(mon3)
#
#mon1,mon2,*_,mon8,mon9=performance
#print(mon1)    #1
#print(mon2)    #2
#print(mon8)    #8
#print(mon9)    #9


对于字典来说,解压出来的是key
#info={"name":""Namy,"age":19,"sex":"female"}
#x,y,z=info
#print(x,y,z)              #name,age,sex

 七、与用户交互

在python3 中的input会将用户输入的任何内容都存成字符串类型

name=input("请输入姓名:")  #name="Namy"

pwd=input("请输入密码:")   pwd ="123"

#print(type(name))

#print(type(pwd))

在python2中的raw_input用法与python3中的input是一样的

name=input("请输入姓名:")  #name="Namy"

pwd=input("请输入密码:")   pwd ="123"

#print(type(name))

#print(type(pwd))

原文地址:https://www.cnblogs.com/Smart1san/p/9102204.html