数据类型以及运算

input输入
name = input('please input your username>>:') #input括号中的内容需要用单引号引起来
age = input ('age>>:') #input所获取的内容都会被保存为字符串类型
print (type(age)) #类型为str
'''
python 3 中input()获取的用户输入内容同一存为字符串类型
python 2 中input()需要人为指定输入的类型,指定方法:(在CMD终端模式下,可以用print(name)也可以直接输入变量名name,都是打印)
需要字符串就在执行后用户输入'name',需要列表就在执行后用户输入[1,2,3]
python 2 中的row_input()获取的用户输入内容同一存为字符串类型
总结:用户输入的内容跟同一存为字符串形式
'''

age = int(age) #后面调用age需要调用为整型,即数字类型,需要这样变换数据类型

print(name,age) #print打印多个内容,之间用英文逗号隔开
print(name)
print(age)
print('my name is',name,'my age is',age) #print打印多个内容,之间用英文逗号隔开,运行后显示即为需要的内容
#占位符 %s %d
print('my name is %s my age is %s'%(name,age))
'''
#%s为占位符,print括号中引号中(字符串中)需要占位符的地方写%s,
在引号后(字符串后)紧跟%(),
括号中写占位符代表的变量或者变量值,之间用英文逗号隔开
'''
print('my name is %s my age is %s'%(age,name))
'''
占位符与后面%括号中指定的变量数量需要一致,不能多也不能少,谁先来谁先坐,没有特殊顺序
'''
print ('my name is %s my age is %d'%(name,age))
#%d只能给数字占位,即整型和浮点型数据类型的数据
print ('my name is %s my age is %s'%('name',[1,2,3,]))
#%s可以给任意数据类型占位,整型,浮点型,字符串,列表,字典
print('%05d'%123)
#%05d 表示数据位数为5位,不足5位用0补齐,超出5位是多少就是多少
#鼠标在pycharm点击两下选中鼠标指定的当前单词,点击三下选中鼠标指定的当前整行
'''
input自带换行,输入input之后自动换行,一个print()独占一行
print()括号中多个元素用英文逗号隔开,运行显示 英文逗号位置为空格
>>> print('name','age')
name age
>>> print('name')
name
>>> print('age')
age
>>>
'''
#在pycharm中代码如果有改动,需要重新运行一遍,否则运行结果中还是上一次的代码的运行结果
'''数据类型:
整型int,浮点型float,字符串str,列表list,字典dict,布尔值bool
什么是数据类型:衡量/记录十五的状态/特征
什么是类型:不同的数据应该有不同的类型来保存。比如;文本,视频,音频等


整型
作用:年龄,QQ号,手机号等
定义方式
'''
age = 18 #对应的内部本质为
age = int (18) #赋值变量时指定18的数据类型为整型int
print(type(age))
#<class 'int'>

'''
浮点型
作用:体重,身高,薪资等,带小数的数值
定义方式
'''
salary = 1.11 # salary = float(1.11)
salary1 = float(3.111)
print(type(salary))
print(type(salary1))

'''
复数

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 1-2j #复数
>>> print(type(a))
<class 'complex'> #复数数据类型为complex
>>> type(a)
<class 'complex'>
>>> a.real #a.real查看复数实部
1.0
>>> a.imag #a.imag查看复数虚部
-2.0
>>>

只有在python2中有长整型,python3中都是整型
>>> b = 3.11111111111111111111111111111111111111111111111111111111111111
>>> type(b)
<class 'float'>
>>> c = 3333333333333333333333333333333333333333333333333333333333333
>>> type(c)
<class 'int'>
>>> exit()

C:\Users\admin>python2
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 3.111111111111111111111111111
>>> type(a)
<type 'float'>
>>> b = 333333333333333333333333333333333333333333333333333333
>>> type(b)
<type 'long'> #数据类型为长整型,只有python2中有长整型的概念
>>> print(b)
333333333333333333333333333333333333333333333333333333
>>> b
333333333333333333333333333333333333333333333333333333L

python2中定义长整型
>>> a = 1L
>>> a
1L
>>> type(a)
<type 'long'>
>>>
'''




'''
敲代码要规范
a = 10 #等号前后需要有一个空格
敲代码需要遵循PEP8规范,在pycharm中的 code---Reformat Code 可以规范下自己写的代码格式
'''


'''
字符串
作用;描述性信息,个人简介,他人评价等
定义
'''
#第一种单引号
s1 = 'woshi zifuchuan ,jason说:"天下无敌"'
#s1 = str('我是字符串')
print(type(s1))
#<class 'str'>

'''
第二种 双引号
'''
s2 = "我是字符串"
print(type(s2))
#<class 'str'>

'''
第三种三引号(可以是三个单引号,可以是三个双引号,不可混合使用)
三引号还可以用来做注释,是否是注释看三引号前面是否有定义变量的代码
'''
s3 = '''
我是字符串
并且可以写多行
'''
s4 = """
我是字符串
并且可以写多行
"""
print(type(s3))
print(type(s4))
#<class 'str'>
#<class 'str'>

'''
之所以有三种定义方式
是考虑到用户在输入文本中也需要用到引号,即引号套引号,需要用单引号双引号区别开引号层级
'''

s5 = 'hello'
s6 = 'world'
print(s5+s6) #实质是在内存中再开一块空间,把两个数值复制过来拼到一起,这样效率低,浪费资源
helloworld
print(s5*10) #十个hello
hellohellohellohellohellohellohellohellohellohello

'''
列表list
作用:能够存储多个数据,并且能够方便取出一条或者多条
定义:[]内部用过逗号分隔开多个数据(元素),并且这多个可以是任意的数据类型
'''

a = [123,3.1,'abc',[11,22,33]]
print(type(a)) #数据类型为list
print(a[0])
print(a[1])
print(a[2])
print(a[3][0]) #先取位于索引3的列表[11,22,33],再取列表中的索引0号位的数值11
#在IT行业,通常数数都是从0开始的 索引

b = ['a','b',['c',['d']]]
#需要取出d这个数据
print(b[2][1][0])

students_info = [
['egon',18,['play']],
['alex','18',['play','sleep']]
]
#取出sleep这个数值有以下两种方法,分步取,一步取
l1 = students_info[1]
l2 = l1[2]
res = l2[1]
print(res)
print(students_info[1][2][1])


'''
字典 dict
作用:能够存储多组数据,存储的数据有对应的描述
定义:大括号内多个元素,元素的格式为key:value形式存储,键值对与键值对之间用英文逗号隔开
key通常是描述value的描述信息,key通常是字符串
value就是描述性信息对应的真是数据,value可以是任意类型
'''

info = {
'name':'jason',
'age':18,
'hobby':['妹子','钞票']
} #等同于:info = dict({'name':'jason'})
#强调 字典是无序的
#字典暴露给用户的可以操作的部分只有key,无法直接获取value
print(info['name']) #打印出字典中key为name的value值

info1 = {
'name':'jason',
'age':18,
'hobby':['妹子','钞票'] #value可以是任意数据类型
} #等同于info1 = dict({'name':'jason'})


emp_info = {
'name':'egon',
'age':18,
'sex':'male',
'company_indo':{
'cname':'oldboy',
'emp_count':20,
'addr':'SH'
}
}
#取出公司地址
d1 = emp_info['company_indo']
print(d1)
res = d1['addr']
print(res)
print(emp_info['company_indo']['addr'])

#字典可以表示很多,一个国家,一个省市,一个地球
china = {
'country_name':{'China':{
'北京':{
'朝阳':{
'望京':{...}
}
'海淀':{...}
}
}}

}


'''
布尔值
作用:表示事物的对错(可行性) 通过True False来判断事物的真假对错 是否可行
定义
'''
tag = True #tag = bool(True)
tag = False

print ( 1 > 0 )

x = 10
y = 20
print( x == y ) #单个等号是赋值,两个等号对比较两个值是否相等
print( x is y ) #is比较的是两个变量对应的ID是都相等,是否是同一个内存空间

'''
id相等的情况下,值一定相等
id不相等的情况下,值有可能相等
值相等,id不一定相等
值不相等,id一定不相等
'''

'''运算符'''
res = 1 + 3
print (res)
print (1 + 3) #正常的加法运算
print( 10/ 3) #结果保留小数部分 3.3333333333333335
print( 10 // 3 ) #只保留整数部分 3
print( 10 % 3 ) # 取余数 1
print( 2 ** 3 ) #2的三次方 8
#print( 10 / 3 ) 会出现3.33335
#python对数字的敏感度不高(存储的数字不是和精确)

'''
比较运算符
== 比较是否相等 is是比较是否是同一内存空间,id是否相等
!= 不相等
> 大于
< 小于
>= 大于等于
<= 小于等于
'''
print(10 > 3)
print(10 > 3.1)
print(10 != 9) # 不等于

a = 'hello'
b = 'z'
print(b > a)
#根据ASCII码表来看,字母越往后,代表的数值越大,所以z > h
#字符串比较大小是按位比较,一旦分出大小,后面将不再比较

#赋值运算
XXX = 18
print(XXX)

#增量运算
XXX += 1 #XXX = XXX + 1
print(XXX)
XXX *= 2 #XXX = XXX * 2
print(XXX)
XXX -=10 #XXX = XXX - 10
print(XXX)


#链式赋值
x = 100
y = 100
z = 100

a = 100
a = b
b = c

x = y = z = 8000


#交叉赋值
m = 80
n = 70

# 第一种方式
o = m
m = n
n = o
print(m,n)

# 交叉赋值
m.n = n,m
print(m,n)

#解压赋值
a = [1,2,3]
b = a[0]
c = a[1]
d = a[2] #一个一个取

b,c,d = a #这种批量取值方式,需要取值的变量数量与列表中的数据量相等才可以


a = [1,2,3,5,4]
b,_,_,_,d = a
print(_) #结果是最后一个_ 代表的数据 5

b,*_,d = a
print(_) #结果是列表中_表示的数据的列表 [2, 3, 5]


'''
与 或 非
and or not
'''
print( 1 > 0 and 3 > 4) #and两边需要同时成立,结果才算成立
False
print(1 >0 or 2 > 3 and 3 > 4) #or两边只要有一边成立,即成立,后面的结果无需再看
True

print(not 1 > 3) #结果取反 True
age = 20
sex = 'female'
print(age > 18 and age <26 and sex == 'female' and 1 > 3)
False
print( 1 > 3 or 2 > 4 or 'x' == 'y' or 1 == 1)
True





























转载于:https://www.cnblogs.com/xiaozhenpy/p/11116566.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值