python之基本数据类型及运算符

目录

为何数据要区分类型?

一、数字类型

1、整型int

2、浮点型float

二、字符串str

三、列表类型list

四、字典类型

五、布尔类型 

运算符的介绍

一、算术运算符

二、比较运算符

三、赋值运算符

四、逻辑运算符

五、身份运算符

用户交互

一、接收用户输入

二、格式化输出

三、python3和python2中用户输入的区别

小练习:


为何数据要区分类型?


     数据类型是变量值的类型,变量值之所以区分类型,是因为变量值是
     用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用
     不同类型的值去记录它们。

一、数字类型

1、整型int

作用:记录等级、年龄、数量等

age = 18

2、浮点型float

作用:记录身高、体重、薪资

salary = 3.1

二、字符串str

作用:记录描述性质的状态

定义:在单引号/双引号/三引号中包含的一系列字符

使用:

         name = 'jack'

         print(name)

+:拼接字符串

x = 'hello'

y = 'world'

print(x  + y)   #输出helloworld

print(x + 10)  #报错,因为字符串只能与字符串相加

print('ss'*10)  #打印10次ss

三、列表类型list

作用:按照位置记录多个值,并且可以取出指定位置的某一个值
定义:在[]内用逗号分隔开多个任意类型的值
取出第一个学生的第一个爱好
hobbies = [['aaa',18,['play']],['bbb',20,['play','sleep']]]
print(hobbies[0][2][0])  
#由索引取列表中的值,索引从0开始
#          0     1  2    3     4
# emp_info=['egon',18,10,'male',1.81]
# print(emp_info[0])
# print(emp_info[1])
# print(emp_info[2])

 

四、字典类型

作用:记录多个不同属性的值

定义:在{}内用逗号分隔开的多个元素,每个元素都由key:value组成,

value就是我们存放的值,可以是任意的类型。

一个key对应唯一的value,key应该对value有描述性的功能,所以key通常是str类型

dic = {'name':'shj','age':18,'gender':'male'}
print(type(dic))
print(dic['name'])  #根据键值key取出value
print(dic['age'])

#多层嵌套
info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
        'name':'Oldboy',
        'type':'education',
        'emp_num':40,
    }
}
print(info['company_info']['name'])

五、布尔类型 

作用:用于判断

定义:

x = True

y = False

print(type(x))

print(type(y))  #bool

print(10 > 11)  #False

print(10 < 11)  #True

强调:所有的数值都自带布尔值,其中0,None,空的布尔值为False,其余都为True。

if []:
    print('ok')
else:
    print('no')

运算符的介绍

一、算术运算符

print(10 / 3)
print(10 // 3)  # 取整除
print(10 ** 3)  # 幂
print(10 % 3)

二、比较运算符

print(10 == 10)
print(10 != 10)
print(10 > 10)
print(10 >= 10)
print('shj' == 'shj')

# 了解:从左到右依次比较,一旦比出大小就停止
x = 'abcdef'
y = 'abcz'
print(x < y)

a = [2,'sss',4]  #列表同样可以比较,也是根据位置来比较
b = [1,'s']
print(a < b)


v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
print(v1,v2,v3,v4,v5,v6)
执行结果:
1 3 0 1 1 False

三、赋值运算符

# 1、增量赋值
age = 18
age += 1 # age = age +1
print(age)
age -= 1
print(age)

# 2、交叉赋值
x = 11
y = 22

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

# 上述三行代码可以合并为下面一行
x,y = y,x
print(x,y)

# 3、链式赋值
x = 10
y = x
z = y

# 上述三行可以一行赋值
x = y = z =10
print(x,y,z)
print(id(x) == id(y) ==id(z))  # 内存地址相同

# 4、解压赋值
l = ['a','b','c','d','e']
x = l[0]
y = l[1]
z = l[2]
m = l[3]
n = l[4]
print(x,y,z,m,n)

# 等号左边的变量名必须与右面的值一一对应

x,y,z,m,n = l # 一行解压赋值完成
print(x,y,z,m,n)

x,y,*_,z = l  # 取两边需要的值,中间*_代表匹配任意个,在这个例子是2个
print(x,y,z)

四、逻辑运算符

# and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True
print(10 < 3 and 3 == 3)
print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0)

# or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True
print(10 < 3 or 1 == 1)
print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a')

# not:取反
print(not 10 > 3)

# 例:
res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3))
print(res)

五、身份运算符

# ==:判断的是值是否相等
# is:判断的是id是否相等

# 值相等,id可以不同
# >>> x='info:egon:18:male'
# >>> y='info:egon:18:male'
# >>> id(x),id(y)
# (2924120923496, 2924120923568)
# >>> x == y
# True
# >>> x is y
# False

# id相同,值一定相同
# >>> x=10
# >>> x=y
# >>> id(x)
# 2924120923568
# >>> id(y)
# 2924120923568
# >>>
# >>> x is y
# True
# >>> x == y
# True

# 了解:pycharm提前分配内存空间,所以id会一样
x=123213123123123133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
y=123213123123123133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
print(id(x))
print(id(y))

用户交互

一、接收用户输入

name = input("请输入你的用户名:")

print(name)

二、格式化输出

name = input("name>>>")
age = input("age>>>")

# 要打印"my name is xxx,my age is xxx."
print("my name is '+name+',my age is '+age'")
# 或者如下
print("my name is %s,my age is %s."%(name,age))


# %d只能接收数字
print('my age is %d' %10)
# print('my age is %d' %'aaaa')  #报错
print('my age is %d' %10.1)  #取整,只有输出10

# %s可以接收任何类型
# print('my age is %s' %'aaa')
# print('my age is %s' %10)
# print('my age is %s' %['a',1])

三、python3和python2中用户输入的区别

在python3中只有一个input,input会将用户输入的任何内容都存成字符串类型。

 

在python2中有两种接收用户输入的机制

raw_input:等同于python3 的input。

input:要求输入者必须输入一个明确的数据类型,输入什么类型就存成什么类型。

 

小练习:

用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Egon -----------
Name  : Egon
Age   : 22
Sex   : male
Job   : Teacher 
------------- end -----------------
# 第一种方法
name = input("please input your name:")
age = input("please input your age:")
sex = input("please input your sex:")
job = input("please input your job:")
info = '''
------------ info of %s -----------
Name  : %s
Age   : %s
Sex   : %s
Job   : %s
------------- end -----------------
''' % (name,name,age,sex,job)

print(info)


# 第二种方法
name = input("please input your name:")
age = input("please input your age:")
sex = input("please input your sex:")
job = input("please input your job:")
info = '''
------------ info of {Name} -----------
Name  : {Name}
Age   : {Age}
Sex   : {Sex}
Job   : {Job}
------------- end -----------------
'''.format(Name=name,Age=age,Sex=sex,Job=job)

print(info)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值