【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容易出现死循环

posted @ 2023-09-21 09:57  小C学安全  阅读(75)  评论(0编辑  收藏  举报