与用户的交互
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)
来源: http://www.bubuko.com/infodetail-3110647.html