【Python基础】格式化输出、基本运算符、流程控制
一、格式化输出
1、占位符
a = 1
b = 2
print('%S %s'%(a,b))
#1 2
print('%s %s'%(1,2))
#1 2
2、format格式化
a = 1
b = 2
print('{} {}'.format(a,b))
#1 2
print('{}次数{}次数'.format(a,b))
#1次数2次数
print('{}'.format("a"))
#好
print('{0} {1}'.format(a,b,1,2,3,4))
#1 2
print('{} {}'.format(a,b,3,5,6,7))
#1 2
#format格式化比占位符优点,他可以format后面的值的数量比前面多,但是不能前面值比后面多,如果用占位符可以一一对应。
3、f-string格式化
a= 10
b =11
print(f'{a} {b}')
二、基本运算符
1、算法运算
加减乘除
#数字类型
a = 1
b = 2
print(a+b) #3
print(a*b) #2
#字符串类型
a = '1'
b = '2'
print(a+b)#12
print(a*b)#报错
print(a*2)#11也就相当于print(a+a)
2、比较运算
> 大于
< 小于
!= 不等于#不存在!<不大于以及!>不小于这样写法
<=小于等于
>=大于等于
3、赋值运算
a = 1
b = 1
b += a#等同于b = a+b
print(b)
2
a = '1'
b = '1'
b += a
print(b)
11
4、身份运算
其实就是变量值在内存中位置的计算
a = 10
b = 10
a is b等效与id(a)==id(b)
5、链式赋值
a = 10
b = a
c = b
按照链式赋值的写法也就是a =b =c =10
6、交叉赋值
a,b=b,a
7、解压缩运算
用于一次性读写出列表里的内容,以及字典中的key
#列表中的值
yang_wen_yi_info_list = ['yangwenyi',25,172,130,['lol','ps']]
name,age,height,weight,hobby = yang_wen_yi_info_list
print(name)
print(age)
print(height)
print(weight)
print(hobby)
#
yangwenyi
25
172
130
['lol', 'ps']
#如果我们只要把其中的25数值赋予age
#第一种方法
_,age,*_ = yang_wen_yi_info_list
#第二种方法
name,age,height,weight,hobby = yang_wen_yi_info_list
#第三种方法
_,age,_,_,_ = yang_wen_yi_info_list
#再字典中取关键字
yang_wen_yi_info_dict = {
'name':'yangnweyi',
'age' : 25,
'height' : 172,
'weight' : 130,
'hobby' : ['ps',''lol]
}
#知道其中所有的key
name,age,height,weight,hobby = yang_wen_yi_info_dict
print(name,age,height,weight,hobby)
#补充如果让字典中的所有key以列表形式出现
key = list(yang_wen_yi_info_dict.keys())
print(key)
['name', 'age', 'height', 'weight', 'hobby']
8、逻辑运算
and、or、not
1.and
1>2 and 3>2 and 1>0 #如果AND第一个就为false,后面不管写什么系统都不会再接着往下看了
False
2.or
1>2 or 2>1#其中只要一个√答案就为True
True
3.not
1>2
False
not 1 >2
Ture
not 1 >2 and 2>1
Ture
not (1 >2 and 2>1)
Ture
三、流程控制
1、if
- if....else
注意点if与else并列,且后面要加:下一级别前面加tab
a="test"
if a =="test":
print("a的值为test")
else:
print("a的值不为test")
- if...elif...else
注意点if,elif,else并列,且后面要加:下一级别前面加tab
a="test123"
if a =="test":
print("a的值为test")
elif a =="test123":
print("a的值为test123")
else:
print("a的值不为test")
2、while
- while
while True: #while + 条件满足进行下面的循环
age = input('age:') #while 循环的内容
- while...break
while True: #while + 条件满足进行下面的循环
age = input('age:') #while 循环的内容
break #停止本次循环
补充
a = True #循环语是子上而下的,当While中条件不满足时也会停止while下面内容的循环
while a == True:
age = input('age:')
if type(age) == type('1'):
a = False
- while...continue
num = 0
num_time = 3
while num <num_time: ←--- |
num +=1 |
if num == 1: |
continue--------- #相当于如果NUM的值等于1时候不进行下面的运算,但是不跳出While,返回while print(num)
- while...else
n = 1
while n < 3:
print(n)
n += 1
else:
print('else会在while没有被break时才会执行else中的代码')
- while的嵌套
例如
while True:
user_db = 'nick'
pwd_db = '123'
inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
while True:
cmd = input('请输入你需要的命令:')
if cmd == 'q':
break
print(f'{cmd} 功能执行')
else:
print('username or password error')
print('退出了while循环')
3、for(用法与while一致)
1.for
2.for...break
3.for...continue
4.for...else
5.for的嵌套
for和while条件者快一个是可控的一个是不可控的,while容易出现死循环