1.判断数据类型:isinstance
语法:
1.1用法一:
isinstance(要判断的值,要判断的类型) 返回True或者False
res=isinstance('abc',str)
1.2用法二:
isinstance(要判断的值,(可能的类型1,可能的类型2,可能的类型3))如果有一个类型满足,返回的是True 否则 返回False
isinstance(5,(int,float,bool,str,set,tuple,dict)
2.代码块
以冒号开始,用缩进来划分作用域(作用的区域,范围),且要么全是一个tab缩进,要么全是4个空格,不能混合使用
if 10==10:
print(1)
print(2)
print(3)
3.三大结构之顺序结构:默认代码依次从上到下执行
4.三大结构之分支结构:(单项分支,双项分支,多项分支,巢状分支)
4.1单项分支:
语法:
if 条件表达式:
code1
code2
当条件表达式成立,返回True,执行相应的代码,反之不执行;
4.2双项分支:
语法:
if 条件表达式:
code1
code2
else:
code3
code4
当条件表达式成立,执行if对应的代码块(也叫真区间);如果条件表达式不成立,则执行else相对应的代码块(也叫假区间);
#input等待用户输入字符串,接受的数据默认是字符串
name=input("输入您的姓名:")
网站登录:
username=input("输入您的姓名:")
password=input("输入您的登录密码:")
if username=='admin' and password=='000':
print('登录成功~')
else:
print('登录失败~')
4.3多项分支:
语法:
if 条件表达式1:
code1
code2
elif 条件表达式2:
code3
code4
elif 条件表达式3:
code5
code6
else:
code
是在众多条件表达式中依次向下选一个进行执行,如果条件表达式1成立,则返回True执行对应的代码块,反之向下执行,如果条件表达式2成立则返回True,执行对应的代码块,反之向下执行...直到最后,所有条件表达式都不成立,则执行else这个分支的代码块.
#elif可以出现多次或者0次;else可以出现0次或1次.
4.4巢状分枝:(单项分支,双项分支,多项分支的相互嵌套)
if math==100:
if English>=90:
if history>=90:
if chinese>=95:
print('success')
else:
print('you will be good')
else:
print('you have to struggle')
else:
print('loser')
5.循环控制:
5.1while循环
特点:减少冗余代码,提高代码效率
语法:
while 条件表达式:
code1
code2
tips:(1)初始化一个变量
(2)写上循环判断条件
(3)自增自减的变量中
5.1.1打印1~100
i=1
while i<=100:
print( i ) #在此位置写上要执行的逻辑代码
i+=1
5.1.2计算1~100的累加和
方法一:
i=1
sum=0
while i<=100:
sum+=i
i+=1
print(sum)
方法二:(利用死循环)
i=1
sum=0
sign=True
while sign:
sum+=i
i+=1
if i=101:
sign=False
print(sum)
5.1.3打印一行是个*
i=0
while i<10:
print('*',end='') #help查看帮助文档,help(print)===>print默认end=' '
i+=1
5.1.4通过打印变量实现一行十个小星星
#借助字符串的拼接:'qwe'+'abc'==>'qweabc'
i=0
strvar=''
while i<10:
strvar+='*'
i+=1
print(strvar)
5.1.5打印一行十个,奇数为*偶数为#
i=0
while i<10:
if i%2==0:
print('*')
else:
print('#')
i+=1
#要将事物分为n个种类则除以n取余,可以得到n个分类,且范围为0~(n-1)
5.1.6一个循环打印十行十列的*
i=0
while i<100:
print('*',end='') #打印星星
if i%10==9:
print() #打印换行
i+=1
5.1.7一个循环打印十行十列隔列# 和*
i=0
while i<100:
if i%2==0:
print('#',end='')
else:
print('*',end='') #打印图案
if i%10==9:
print() #打印换行
i+=1
5.1.8一个循环隔行打印#和*
tips:任意数和n进行地板除,可以出现n个相同的数字
0~9 //10 会出现10个相同的0
10~19 //10 会出现10个相同的1
20~29 //10 会出现10个相同的0
i=0
while i<100:
if i // 10 % 2==0:
else:
print('*',end='')
if i%10==9:
print()
i+=1
5.2 for循环
for循环的作用有:循环,遍历,迭代;主要为了遍历数据而提出,使用while遍历有局限性(如set)
语法:
for i in 可迭代对象:
code1
code2
可迭代对象:容器型数据,range对象,迭代器
5.2.1遍历容器型数据时将元素逐个遍历输出
(1)遍历字符串:
container='我i电视剧的辉煌的时代'
for i in container:
print(i)
(2)遍历列表:
container=[123,'345','巨大的']
for i in container:
print(i)
(3)遍历元组:
container=(12,'34','地点')
for i in container:
print(i)
(4)遍历集合:
container={99,'88','很多很多很多'}
for i in container:
print(i)
(5)遍历字典:(在遍历字典时,只遍历字典的键)
container={'a':1,'b':2,'c':3}
for i in container:
print(i)
5.2.2遍历不等长的二级容器
container=([12,'34','结束的时间'],('98',45))
for i in container:
for j in i:
print(j)
5.2.3遍历等长的二级容器
container=[(12,'36',89),[58,'Gina',56]]
for a,b,c in container:
print(a,b,c)
#a,b,c=12,'36',89
#a,b,c=58,'Gina',56
变量的解包:a,b=1,2 [a,b]=5,6
5.2.4range对象
语法:range(开始值,结束值,步长) 注:能取到开始值,取不到结束值,只能取到结束值前一个数
(1)只有一个值的情况
range(10) #默认从0 取到9
(2)只有两个值的情况:
range(3,5) #从3开始到5-1
(3)只有三个值的情况:
range(3,8,2) #3,5,7
range(9,5,-1) #9,8,7,6
打印1~10:
for i in range(1,11):
print(i)
总结:while进行较为复杂的逻辑; for:进行数据的遍历;二者部分代码可以相互转换