Python基础1-数据类型&基本运算符
- 与用户的交互
python3中
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只能接收数字类型
# 作用:记录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 # 长整型
# 作用:记录身高、体重、射击环数等略微精确的信息 Def: my_weigh = 161.4 # 等价于 my_weigh = int(161.4) print(my_weigh, type(my_weigh))
# 作用:记录国家、省市居住地、淘宝送货地址等信息 Def: My_hometown = 'Yangzhou' print(type(My_hometown)) # 注意事项:1.字符串之间可以相加 Province = 'JiangSu' City = 'Yangzhou' print(Province + City) # 2.字符串可以作数字运算 print(10*'Yangzhou')
# 作用:记录多个key:value的值,并且通过key和value的一一映射来表示,key是其形式名称,value是其内容实质。 Def: #key可以是字符串类型,value可以是字符串类型也可以是其他数据类型China = {'Captial':'Beijing', 'Population':'14 billion', 'Full name':'People Republic of China'} print(China['Captial']) # 可以表示具有多种特征的事物的一个数据类型,并能够知晓它的对应特征的相关信息,对一个人,一个国家,一个历史时期等都可以使用,表示着不同类型的数据
# 作用:记录同一类别中的多组数据,方便取出其中的一个值,比如提到联合国常任理事国可以想到中、俄、英、法、美 Def: # 用逗号将多组字符串以及其他数据类型进行分隔,并且从第一个开始调用的数字是0 United_of_Nations = ['China', 'Russia', 'England', 'French', 'America'] print(United_of_Nations[0]) # 可以通过叠加[]对列表中的数据进行深入调用
# 作用:判断逻辑运算等的正确与否,并不是直接通过布尔值来判断而是通过逻辑运算符 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)