条件执行和if语句
elif子句
嵌套代码块
For循环
break和continue语句
字典的循环
while循环
python模块和包的概念
引用模块的三种办法:
魔法函数
条件判断语句:
if条件语句 if...elif...else判断语句
循环语句:
for循环 while循环 break和continue语句
使用pycharm编辑器进行辅助学习,CTRL+‘+’+‘/’可以将代码注释
条件执行和if语句
name = input('what is your name?') //输入你叫什么名字
if name.endswith('xiayingying'): //如果你的名字是xiayingying
print('hello,my name is xiayingying') //打印hello,my name is xiayingying
else:
print('i am a girl') //否则打印i am a girl
if (条件) else,可以不写else,但是建议写上
elif子句
if (表达式1):语句一
elif(表达式2):语句二
...
elif (表达式n):语句n
else:语句n
执行过程:首先判读表达式一是否为真,如果为真执行语句一;否则程序流转入elif,判断表达式二是否为真,如果为真执行语句二,以此类推。如果所有表达式不成立,则执行else子句
score = float (input ("score:")) //输入成绩
if 90 <=score <100: //成绩在90-100,打印A
print('A')
elif 80<=score <90: //成绩在80-90,打印B
print('B')
elif 70<=score <80: //成绩在70-80,打印C
print('C')
elif 60<=score <70: //成绩在60-70,打印D
print('D')
else: //剩余成绩打印E
print('E')
嵌套代码块
if(表达式1):
if(表达式2):语句一
elif(表达式3):语句二
......
else:语句三
elif(表达式n):
......
else:
......
x = -1
y = 99 //给x,y赋值
if (x>=0):
if (x>0): //当x>=0时,x>0,y=1
y = 1 否则,y=0
else:
y = 0
else: //当x<0时,y=-1并且打印出来
y = -1
print('y=',y)
For循环
例如,淘宝的前端图片以及推荐的产品并不是一个一个进行上传的,而前端以前被称为“盒模型”,是通过一个一个小盒子拼接而成的页面,可以通过看前端样式清晰的看出来一个个“盒子”,最有可能实现的方式是写一个前端样式,用for循环进行传递 ,for循环主要是用来循环序列或者集合字典的,使用ctrl+‘+’+/可以将选中的代码前边全部加上#号
示例一:
fruits = ['apple', 'orange', 'pear'] //fruits中所含元素
for f in fruits:
if f == 'orange': //如果f==orange则打印f,并且继续
print (f)
continue
else:
print('gone') //否则打印gone
示例二:
fruits = ['apple', 'orange', 'banana', 'grape'] //fruits所含元素
for fruit in fruits:
if fruit == 'orange': //如果fruit=orange则打印水果
print(fruit)
else: //如果fruit不是orange则打印error
print('error')
示例三:
fruits = [['apple', 'orange', 'banana', 'grape'], [1, 2, 3]] //元素
for f in fruits:
for i in f:
if i == 'orange': //先用第一个列表进行匹配,匹配到
break orange则跳出循环,所以得出apple,
print(i, end=",") 后来进行第二个列表匹配,由于列表中
for f in fruits: 没有orange所以得出1,2,3,并且进入
for i in f: 第二个循环,第一个列表匹配到apple,
if i == 'orange': 第二个列表匹配到1,2,3因为默认换行
break 符,所以得出来的形式是一行一行的
print(i)
continue是跳出当前循环else只有正常运行完for循环才进入else里面,如果是通过break强制结束,不会走进else,print(i,end=',')得出的结果是“apple,1,2,3”,默认分割符是换行/n
示例一:
a = ['beijing','shanghai','guangzhou','shenzhen','xi\'an'] //元素
for i in a:
print(i, end=',') //如果i出现在a中则打印出来,否则打印
else: chongqing,并且用,隔开
print('chongqing')
for i in a: //如果i=‘guangzhou’则继续下一个,并
if i == 'guangzhou': 打印出来,,否则打印chongqing,换行
continue 符隔开
print(i)
else:
print('chongqing')
for的主要目的是为了遍历List,dict,set等里面的元素
for (条件一; 条件二; 条件三) {
//循环体
for (条件四; 条件五; 条件六) {
//循环体二
}
}
执行顺序
执行顺序:先执行条件一,再看条件一是否满足条件二的判断,如果满足则进入循环体,在循环体内如果有内容则,按顺序执行,从上向下执行,然后碰到第二个for循环后则,判断条件四是否满足条件五的条件,如果满足,则进入循环体二,执行完循环体二的内容后,执行条件六,然后在条件四自增(自减)后如果条件四继续满足条件五,则继续执行,直到条件四不满足条件五后,再执行条件三。
python中的等号不是数学意义上的等号,是赋值的意思,把字符串赋值给前边的变量名
for循环不出索引,如果要索引用for key,value in enumerate()
前边为占位符,后边为输出
break和continue语句
break语句可以使程序跳出循环语句,从而执行循环体之外的程序,就是说break语句可以提前结束循环。不过呢,break语句不能运行在循环体或分支语句之外
字典的循环
d = {'x':1, 'y':2, 'z':3} //d={key:value}
for key in d: //打印key
print(key)
for key ,value in d.items(): //key和value在d.items中
print (value) //只打印value
字典的循环,通常循环key和value,两个都循环用items,根据需求写循环
while循环
注意循环表达式的布尔值,防止死循环,要有条件退出,要不会一直循环
python模块和包的概念
在另一个文件中使用一个包不用进行重新定义可以直接进行引入
print(demo)引用包找包在pypi镜像中找到相应的包可以在官网或者在阿里云找镜像站又或者在清华大学镜像站找相应的包,官方搜索是比较慢的,因为官方网站是国外的网站,最好的是使用镜像源网站。包里面的模块就是通过"from+包import+模块"来引出模块或者包,模块是一个个文件,因为代码都是写在文件里边的,as后边相当于给包起了个名字。一种是用import进行引入包,import更推荐这种方法。
*可以引入所有的模块,不推荐这样写,语义不清淅
form包+import模块:正常项目最经常引用的一种方式
引用模块的三种办法:
1,直接用from引入包import引入模块(最推荐的方式)
from chapter10 import c10_2 //from 包 import 模块
2.引入包在引入模块
3.引入包并且给包起个别名在引入模块
import bobby.chapter07.import7_7_1 as demo //as后边写的是别名
魔法函数
限制引用的次数,魔法函数;在Python中,__xx__()
的函数叫做魔法方法,以双下划线(__xx__
)开始和结束的函数(不可自己定义)为魔法函数。
所谓魔法函数(Magic Methods),是Python的一种高级语法,允许你在类中自定义函数(函数名格式一般为__xx__),并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果。
在我们平时的使用中,可能经常使用__init__函数(构造函数)和__del__函数(析构函数),其实这也是魔法函数的一种。
__init__()方法,在创建一个对象时默认被调用,不需要手动调用
__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__方法,那么就会打印从在这个方法中 return 的数据。
当删除对象时,python解释器也会默认调用__del__()方法。
调用类实例化的对象的方法时自动调用魔法函数。
在自己定义的类中,可以实现之前的内置函数。