1、与用户交互
python2和python3在与用户交互方面存在差异。
在python3中,使用input( )方法提供用户输入,而在python2中,使用raw_input( )方法,才能实现同样的效果。
在python2中,input( )方法,用户在输入时必须要声明类型。
python3中所有通过input( )接收到的变量值,全部以str字符串类型存储。
2、格式化输出
a)可以使用占位符%s、%f、%d ;
%s可以接收任意类型;%d用于接收整数,如果接收浮点数,会去除小数;%f可以接收浮点数和整数,会保留6位小数。
a = 'rampage' b = 100.111 c = 200 print('my name is %s, my age is %f' % (a, b)) # %f 接收浮点数 print('my name is %s, my age is %.3f' % (a, b)) # %.3f 表示浮点数精确到小数点后3位 print('my name is %s, my age is %d' % (a, c)) # %d 接收整数
b) 可以使用 str.format()
# a = 'rampage' # b = 100.111111 # print(type(b)) # print('my name is {}, my age is {}'.format(a, b)) # print('my name is {name}, my age is {age}'.format(name=a, age=b))
c)f-string
# a = 'rampage' # b = 100.111111 # print(type(b)) # print(f'my name is {a}, my age is {b}')
3、数据类型
主要包括 number数字、string字符串、list列表、dict字典、bool布尔
number数字
主要讲三个:整型、 浮点型、复数
在python2中,整型除int外,还有长整型long,long的范围【32位:-2^31~2^31-1 64位:-2^63~2^63-1】;
在python3中整型全部为int型
浮点型float
复数表示方法为 a= 1-2j
a = 1-2j print(type(a)) # <class 'complex'> m = a.real print(type(m)) # <class 'float'> print(f'm={m}') # m=1.0 n = a.imag type(n) print(f'n={n}') # n=-2.0 print(type(n)) # <class 'float'>
string字符串
字符串可以用单、双、三引号来声明。
以 str1+str2这种形式进行字符串的拼接,会在内存中开辟新的空间用于存储 str1+str2
list列表
列表可以存储多个不同类型的值
列表的索引从左往右,从0开始计数
以 list[索引] 进行取值
dict字典
字典通过大括号,以 key:value 的映射关系存储数据,每个键值对以逗号进行分隔。
d以 dict[ key]进行取值
a = [0, 1, 2, 3, 4, [33, 34, 45]] b = {'s1': '男', 's2': 12, 1: [0, 1, 2, 3, ['key', 1]]} print(a[0]) # 0 print(b[1]) # [0, 1, 2, 3, ['key', 1]] print(b['s1']) # 男 print(a[5][1]) # 34 print(type(b[1])) # <class 'list'> print(b[1][4]) # ['key',1]
bool布尔
布尔型主要用于逻辑判断。
a==b 比较的是变量a,b的 value
a is b 比较的是变量a,b的 id
变量value相等时,id不一定相等。(受小整数池影响)
变量id相等时,value一定相等。(靠id去找value)
4、运算符
算术运算符 a//b(取整);a%b(取模);a**b(次幂)
比较运算符 a>b;a<b;...
赋值运算符
增量赋值 a+=1;a-=1;...
链式赋值 x=y=z=1
交互赋值
a=1 b=2 print(a,b) # 1 2 a,b=b,a print(a,b) # 2 1
解压赋值
通过解压赋值,可以用和列表元素个数相同的变量,依次接收列表中的值。
如果变量的个数少于列表元素的个数,可以通过 *_ 来填充, *_ 可以在首尾和中间,但只能出现一次。
l0 = ['x', 'y', 'z'] m, n, q = l0 print(m, n, q) # x,y,z l1 = [1, 2, 3, 4] *_, a, b, c = l1 d, e, f, *_ = l1 print(a, b, c) # 2,3,4 print(d, e, f) # 1,2,3
逻辑运算符 and or not
print(True and True or True) # 1 print(True and True or False) # 1 print(True and False or True) # 1 print(False and True or True) # 1 print(False and False or True) # 1 print(False and True or False) # 0 print(True and False or False) # 0 print(False and False or False) # 0 print('----------------------------') print(True or True and True) # 1 print(True or True and False) # 1 print(True or False and True) # 1 print(False or True and True) # 1 print(False or False and True) # 0 print(False or True and False) # 0 print(True or False and False) # 1 print(False or False and False) # 0