流程控制和数据类型
条件判断
当我们开始编写一个程序时,肯定会遇到要求程序能根据不同的条件作出相应的工作的需求,这时候,我们就需要使用计算机语言最基本的逻辑控制 if..else..语句来实现了,比如我们写一个验证用户信息的程序:
valid_user = "zongyimin"
user_input = input("Your name:")
print(type(user_input))
if user_input == valid_user:
print("Welcome %s login to our system"%user_input)
else:
print("invalid name,byebye!")
重复代码使得程序笨重了很多,尽量避免出现重复代码,这是专业程序员需要具备的基本道德之一,害处:
1,使程序变得冗余,笨重
2,使程序变得不易维护,当你的程序出现多处重复代码时,如果突然你需要对一个功能做更改,但是这个功能又在程序中重复了多次,那你就必须在各个重复的地方修改这个功能,太恶心了,机器语言支持函数,类功能的原因之一就是要减少代码的冗余。
一般一个if 判断同时满足1至3个条件就可以了,条件少则怡情,多则伤身。
valid_user = "zongyimin"
valid_passwd = "zongyimin123"
user_input = input("Your name:")
if user_input == "guest":
print("Welcome %s login our system,but you only have read-only access,enjoy!"%user_input)
elif user_input == valid_user and valid_passwd == input("Passwd:"):
print("Welcome %s login to our system"%user_input)
else:print("invalid name! ByeBye!")
这里我们用到了elif ,意思就是,如果不满足第一个if 条件,那程序就继续往下走,在判断是否满足elif 条件,如果不满足继续往下走(这里你可以加多个elif判断),
如果遇到满足条件的elif 就停下来执行后面的代码,然后结束,如果最终没有碰到满足的条件,就最终执行else 语法,另外可以写多个elif 判断:
if <条件判断1>:
<执行1>
elif <条件判断 2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
循环
刚才我们的验证用户名和密码的程序只进行了一次验证就退出了,如果想让程序在用户输入验证信息错误后允许用户在进行几次尝试该如何做呢?这个时候就用到for循环了,首先for循环的基本语法如下:
for i in range(5):print "loop",i
把它嵌套到我们之前用户验证的程序上。代码如下:
valid_user = "zongyimin"
valid_passwd = "zongyimin123"
for i in range(3):
user_input = input("Your name:")
if user_input == "guest":
print("Welcome %s login our system,but you only have read-only access,enjoy!"%user_input)
break
elif user_input == valid_user and valid_passwd == input("Passwd:"):
print("Welcome %s login to our system"%user_input)
break
else:print("invalid name! ByeBye!")
else:print("You have retried 3 times,to avoid attack,I will block your")
这个代码实现了,如果用户密码错误后,最多让用户尝试3次,注意这里用到了break,它是做什么用的呢?,它是用来帮助跳出整个循环的,比如:用户输入两次循环直接break跳出整个循环,一旦跳出循环程序就继续往下走了,你可就不能返回来了,还有就是break只能在循环中使用,没有循环的时候使用break会出错,因为没啥可跳的。
看到结尾的else了吗。在for循环正常循环完设定的次数,中间没有被break中断的话,就会执行else,锁定ip,防止恶意攻击。
while循环
刚才for循环我们是不是预先指定了要循环多少次了,那如果我有种需求,要求我的程序每10s中循环一次,这里就需要用到while了,while就是那种你不break它就傻傻的一直死循环的语句,来看下。
未完待续。。。。
內建函数:在python手册中,名字叫built-in functions,中文可以称为內建函数。內建函数就向dos系统的內建命令,他不依赖于外部模块,也就是说:內建函数就是:安装好python后就可以直接使用的函数,不需要import任何模块。
python整合了数据类型和对象,即一切数据类型都是通过自己的类实例化的对象,每种数据类型都会通过点调用自己的方法,这中特性都是类中定义的。