补上昨天的变量剩余部分内容:
一、变量的三大特征:
1.id(变量的唯一编号,内存地址不同,id则不同)
2.type(类型,一些常见的类型如:整型、浮点型、字符串)
3.value(值)
如:x=1 变量x的三个特征查看,如图:
常量(不变的量)
AGE_OF_ALLEN=74
在Python中一般遇到全为大写的变量名即视为常量,一般情况下不发生改变
二、基本数据类型
1.什么是数据类型
变量值即是我们存放的数据,数据类型即是变量的类型
2,变量为何要区分变量类型
因为变量值用来记录现实世界中不同的事物特征,针对不同的事物就要用不同类型的值去标识
3.如何应用数据类型
数字类型的数据类型包括两种(整型和浮点型)
1.整型int: 年龄\身份证号\电话号码\等级
例如:age=18(在这里实质是:age=int(18))
print(id(age),type(age),age) 输出结果如图所示:
2.浮点型float: 薪资\身高\体重
例如:salary=3.1(在这里实质是:salary=float(3.1))
print(id(salary),type(asalary),salary)
字符串类型str: 名字\家庭住址\单个爱好\性别等等具有描述性的特征
定义:在引号('',"",""" """,''' ''')单引号、双引号、三引号内包含的一串字符
例如: name1='agon'
name1=''agon''
name1='''agon'''
name1='''
agon''' (三引号可值放在多行使用)
print(id(name1),type(name1),name1)
msg=''My name is ‘agon’'' (在这里如果想要打印出'agon' 不能使用相同的引号)
print(msg)
字符串的拼接:+、*
msg1=‘hello' msg2='world'
res=msg1+msg2(msg1和msg2无缝拼接)
print(res,type(res))
print('='*100) (打印出来100个“=”)
3.列表list: 记录多个值,比如人的多个爱好,一个班级多个学生的性别
定义:在[]内用逗号分隔开多个任意类型的值
L=[1,3.1,'aa',['a','b','c',['aaaa','bbbb','cccc']]] (列表的嵌套:在列表中重复使用心得列表)
列表中的取值:列表具有索引功能,从0开始对应列表中第一个数据,1对应第二个数据,2对应第三个数据,以此类推来进行取值
在上述列表中:
print(1)
print(1[0])
print(1[2])
print(1[3][1])
print(1[3][3][0])
4.字典dict:记录多个key:value值(value可以是任意类型的数据)
定义:在{}内用逗号分隔开多个key:value的值, 而key通常应该是字符串类型
例如: info={
'name':'agon',
'age':18,
'sex':'male',
'level':10,
'hobbies':['music','read','dancing']
} (在这里实质是:info=dic(...)
# print(type(info))
# print(info['level'])
# print(info['age'])
# print(info['hobbies'][1])
实例:
emp_info={ 'name':'allen', 'hobbies':['play','sleep'], 'company_info':{ 'name':'aliyun', 'type':'IT', 'emp_num':500, } } print(emp_info['company_info']['name'])
5.布尔类型bool: True/False 用来表示条件是否成立
age=18
print(age>30)
print(age<30)
所有类型的值都自带布尔值,当数据类型的值为0,None,空(包括0,{},[])时布尔值为False,除此以外都为Ture
# print(bool(0))
# print(bool(None))
# print(bool(''))
# print(bool([]))
# print(bool({}))
# print(bool(1))
三、输入输出
在python3中的input会将用户输入的任何类型都存为str类型
# name=input("请输入您的用户名: ") #name="egon"
# pwd=input("请输入您的密码: ") #pwd='123'
# if name == 'egon' and pwd == '123':
# print('登陆成功')
# else:
# print('用户名或者密码输错了')
在python3中只有一个input,而python2中有input和raw_input
1.其中python2中的raw_input与python3中的input是一样的
2.不一样的是python2中的input要求使用者必须输入一个明确的数据类型,输入什么类型就存成什么类型
# age=input('>>>: ') #age="18"
# print(age,type(age))
# age=int(age) #age=int("18") #age=18
# print(age > 30)
# name=input('请输入您的用户名: ')
# age=input('请输入您的年龄: ')
# print('my name is my age is ',name,age)
# print('my name is ',name,'my age is ',age)
# print('my name is %s my age is %s' %(name,age))
# print('my name is %s my age is %s' %([1,2,3],18))
(# print('my name is %s my age is %d' %('egon',18))
# print('my name is %s my age is %d' %('egon','18'))
%s(占位符)可以收任意类型的值 %d(占位符)只能接收整型
四、基本运算符
1.算数运算
print(10+1.1)
print(10/3) 有整数部分有余数部分的除法
print(10//3) 去掉小数部分的除法
print(10 % 3) 取余
print(2 ** 3) 2的3次方
2.比较运算
比较运算只能在同类型之间进行,其中int与float同属于数字类型
print(10>3.1)
print(10>=10)
# 了解
# msg1='abcdefg'
# msg2='abce'
# print(msg2 > msg1) True
# list1=['a',1,'b']
# list2=['c','b']
# print(list2 > list1) True
在上述字符串的比较运算中print的比较方式为从第一个字符开始比较如果第一个字符就分出大小,后边的比较不在进行,如list1和list2的比较
如果前几个字符一样知道分出大小为止,如msg1和msg2的比较
3.赋值运算
3.1增量赋值
age=18
age=age+1
age+=1 #age=age+1
x%=3 #x=x%3
3.2链式赋值
x=10
y=x
print(x is y) True
a=b=c=d=e=111
print(a is b is c is d is e)
3.3交叉赋值
x=10
y=20
#一般方法:
temp=x
x=y
y=temp
#交叉赋值
x,y=y,x
print(x,y) x=20
y=10
3.4解压赋值
nums=[1,2,3,4,5]
a=nums[0] a=0
b=nums[1] b=1
c=nums[2] c=2
d=nums[3] d=3
e=nums[4] e=4
a,b,c,d,e=nums
print(a,b,c,d,e)
如果只需要取前三个值在不需要的地方放''_''就可以了下划线可以在这里作为无用变量名存在
nums=[1,2,3,4,5]
a,b,c,_,_=nums 在这里下户线最终值为5 即: _=5
print(a,b,c)
print(_)
当数据较多时的表示占位表示方法
nums=[1,2,3,4,5,6,7,8,9,10...,9999999999]
a,b,*_=nums (只取前两个值)
print(a,b)
4、逻辑运算:and、or、not
and:连接左右两个条件,两个条件必须都成立,最后结果才为True,一旦左边条件为假则最终结果就为假,没有必要再去计算右面条件的值
例如: print(1 > 2 and 3 > 1) 结果为False
or:连接左右两个条件,两个条件但凡有一个成立,结果就为True,一旦左边条件为True则最终结果就为True,没有必要再去计算右面条件的值,
一旦左边条件为False,还需要去计算右面条件的值,如果为True,最终也True
not:取反
print(not 1 > 2 or 3 > 1) not对距离最近的判断语句起作用
print(not 1 > 2)
print((True and (False or True)) or (False and True)) (在进行多个布尔值在一起进行逻辑运算时,可以用括号分出优先级便于计算)
5、身份运算:is与==
is是身份运算:比较的是变量id是否相等
==判断值是否相等
x=10
y=x
print(id(x),id(y))
print(x is y)
print(x == y)
值相等id不一定相等
>>> x=1111111111111111111111111111111111111111111111111
>>> y=1111111111111111111111111111111111111111111111111
>>> id(x)
2181129522824
>>> id(y)
2181129523040
>>> x is y
False
>>> x == y
True
'''