Python基础1-数据类型&基本运算符

  • 与用户的交互

python3中

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

 

python2中

raw_input会将用户输入的任何内容都存成字符串类型

name=raw_input('>>>>>>>>>>>>>>>>>>>>>>>>>>>>: ')
>>>:egon
>>> print(name)
egon
>>> print(name,type(name)
>>> ('egon', <type 'str'>)

name=raw_input('>>>>>>>>>>>>>>>>>>>>>>>>>>>>: ')
>>>:1231231231232
>>> print(name,type(name))
>>> ('1231231231232', <type 'str'>)
>>> name
>>> '1231231231232'
>>> name,type(name)
>>> ('1231231231232', <type 'str'>)

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

>>> x=input("输入: ")
输入: egon
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'egon' is not defined

>>> x=input("输入: ")
输入: 'egon'
>>> x,type(x)
('egon', <type 'str'>)


>>> x=input("输入: ")
输入: [1,2,3]
>>> x,type(x)
([1, 2, 3], <type 'list'>)
>>> y=raw_input('####: ')
####: [1,2,2,3]
>>>
>>> y,type(y)
('[1,2,2,3]', <type 'str'>)
  • 格式化输出

%s和%d

name=input('please input your username:')
age=input('please input your age:')
print('my name is',name,'my age is',age)
print('my name is %s,my age is %s' %(name,age))

'''
my name is 输入的用户名,my age is 输入的年龄
'''

print('my name is %s my age is %s' %(18,'egon'))


print('my name is %s my age is %d' %('egon',18))
print('my name is %s my age is %s' %('egon',18))
print('my name is %s my age is %s' %('egon',[1,2,3])) # %s可以接收任意类型的值
print('my name is %s my age is %d' %('egon','xxx')) # %d只能接收数字类型
  • 数据类型
  • 数据类型大概有这么几种:整型、浮点型、字符串、字典、列表、布尔型等
       整型(Integer)
# 作用:记录qq、年龄、身份证号等信息
定义:
my_qq_id = 1025100056 # 等价于 my_qq_id = int(1025100056)
print(my_qq_id, type(my_qq_id))
其中如果对于Python2的整型定义,则会分为整型和长整型的类别
my_age = 22
print(type(my_age))
>>> int # 整型
else
x = 12356788990023466666666788544243
print(type(x))
>>> long # 长整型
       浮点型(float)
# 作用:记录身高、体重、射击环数等略微精确的信息
Def:
my_weigh = 161.4 # 等价于 my_weigh = int(161.4)
print(my_weigh, type(my_weigh))  
       字符串类型(String)
# 作用:记录国家、省市居住地、淘宝送货地址等信息
Def:
My_hometown = 'Yangzhou'
print(type(My_hometown))
# 注意事项:1.字符串之间可以相加
Province = 'JiangSu'
City = 'Yangzhou'
print(Province + City)
# 2.字符串可以作数字运算
print(10*'Yangzhou')
     字典(Dictionary)
# 作用:记录多个key:value的值,并且通过key和value的一一映射来表示,key是其形式名称,value是其内容实质。
Def:                     #key可以是字符串类型,value可以是字符串类型也可以是其他数据类型China =
{'Captial':'Beijing',        
'Population':'14 billion',       
'Full name':'People Republic of China'}
print(China['Captial'])

# 可以表示具有多种特征的事物的一个数据类型,并能够知晓它的对应特征的相关信息,对一个人,一个国家,一个历史时期等都可以使用,表示着不同类型的数据
     列表(List)
# 作用:记录同一类别中的多组数据,方便取出其中的一个值,比如提到联合国常任理事国可以想到中、俄、英、法、美

Def:   # 用逗号将多组字符串以及其他数据类型进行分隔,并且从第一个开始调用的数字是0
United_of_Nations = ['China',
'Russia',
'England',
'French',
'America']
print(United_of_Nations[0])

# 可以通过叠加[]对列表中的数据进行深入调用
     布尔型(Boolean)
# 作用:判断逻辑运算等的正确与否,并不是直接通过布尔值来判断而是通过逻辑运算符
Def:
x = 29 < 30
print(x)
y= 'zzc' > 'ph' #也可以用于字符串之间的比较,从第一个字符开始比较,有相同的直接跳过比较下一个print(y)
  • 基本运算符

 

# 算数运算
res=1 + 3
print(res)
print(1 + 3)
print(10 / 3) #结果保留小数部分
print(10 // 3) # 只保留整数部分
print(10 % 3) # 取余数
print(2**3)

# 比较运算:== != > < >= <=
# 了解知识:
# 数字之间可以互相比较大小
print(10 > 3)
print(10 > 3.1)

# 而字符串只能与字符串比较大小(按照对应位置的字符参考ASCII表去比较的)
msg1='hello'
msg2='z'
print(msg1 > msg2)

# A-Za-z
print('a' > 'Z')
print('Z' > 'Y')
print(len('hello') > 3)
print('a' > 3)
 
#列表只能与列表比较大小(按照对应位置的值依次比较,对应位置的值必须是相同的类型)
l1=[1,2,3]
l2=[10,]
print(l2 > l1)
l3=[10,2,'b',3]
l4=[10,2,'b','c']
print(l3 > l4)




# 赋值运算
age = 18
# 增量赋值
age += 1 #age=age+1
print(age)

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

x=z=y=100
print(id(x),id(y),id(z))

# 交叉赋值
m=1000
n=2000

# temp=m
# m=n
# n=temp
n,m=m,n
print(m,n)

# 解压赋值
salaries=[11,22,33,44,55,]
mon1=salaries[0]
mon2=salaries[1]
mon3=salaries[2]
mon4=salaries[3]
mon5=salaries[4]
mon1,mon2,mon3,mon4,mon5=salaries
print(mon1,mon2,mon3,mon4,mon5)

# 等号右面包含的值的个数必须与等号左边变量名的个数一致
mon1,mon2,mon3,mon4,mon5,mon6=salaries
mon1,mon2,mon3,mon4,=salaries

_=3333
print(_)
mon1,mon2,_,_,_=salaries  # 下划线最终被赋值为55
mon1,mon2,*_=salaries
print(mon1)
print(mon2)

salaries=[11,22,33,44,55,]
first=salaries[0]
last=salaries[4]

first,_,_,_,last=salaries
first,*_,last=salaries
print(first)
print(last)

 

  • 逻辑运算
age=20
sex='female'
#逻辑运算
# and:连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True
print(age > 18 and age < 26 and sex == 'female' and 1 > 3)

# or:连接左右两个条件,但凡有一个条件成立最终结果就为True
print(1 > 3 or 2 > 4 or 'x' == 'y' or 1==1)

# not
print(not 1 > 3)
print(not (1 > 3 or 2 > 4 or 'x' == 'y' or 1==1))

res=(3>4 and 4>3) or (1==3 and ('x' == 'x' or 3 >3))
print(res)

 

posted @ 2019-07-02 01:38  ITchemist  阅读(186)  评论(0编辑  收藏  举报