====================
== Hi, I'm Vimiix ==
====================
Practice makes perfect (ง •̀_•́)ง

Python-运算符和流程控制

flow control operators Python

随手笔记,本篇介绍了python中的各种运算符以及2种流程控制语句。

Python中的运算符

算术运算符

运算符描述
+
-
*
/除-Py2中9/2输出4,Py3中9/2输出4.5
%取余(或者叫取模),返回除法的余数
**幂-x**y,x的y次幂
//取整(地板除)-返回商的整数部分,注意负数的取整,向左取整

比较(关系)运算符,运算结果为布尔值

运算符描述
==等于-比较对象是否相等
!=不等于
>大于
<小于
>=大于等于
<=小于等于

赋值运算符

运算符描述
=赋值
+=a+=b 等效于 a=a+b
-=a-=b 等效于 a=a-b
*=a*=b 等效于 a=a*b
/=a/=b 等效于 a=a/b
%=a%=b 等效于 a=a%b
**=a**=b 等效于 a=a**b
//=a//=b 等效于 a=a//b

逻辑运算符

运算符描述
and逻辑与(同真为真,输出后值,有假即假,输出第一个假值)
or逻辑或(同假为假,输出前值,有真即真,输出第一个真值)
not逻辑非,取反

位运算符

运算符描述
&按位与

说明:参与预算的两个值,转换为二进制,如果两个相应位都为1,则该位结果为1,否则为0

栗子:计算 60 & 13

十进制二进制十进制结果
60111100
13001101
00110012
运算符描述
|按位或

说明:转换为二进制,只要对应的两个位有一个1,则该位结果为1,否则为0

栗子:计算 60 | 13

十进制二进制十进制结果
60111100
13001101
11110161
运算符描述
^按位异或:位相异结果为1
~按位取反
«按位左移
»按位右移

成员运算符

运算符描述
in如果在in后面的对象中找的到in前面的对象返回True,否则返回False
not in找不到该成员返回True,否则返回False

身份运算符

运算符描述
isis是判断两个标识符是不是引用自同一个对象(理解:是否标记在同一块内存地址)
is not和is相反
python内存管理机制,对于创建变量的时候,是否重新malloc内存的临界点为 -5~256 看下面的栗子:
	>>> a=256
	>>> b=256
	>>> a is b
	True
	>>> a=257
	>>> b=257
	>>> a is b
	False
	>>> a=-5
	>>> b=-5
	>>> a is b
	True
	>>> a = -6
	>>> b= -6
	>>> a is b
	False

流程控制

理解

if判断语句:什么条件下干什么事

for,while循环语句:在什么条件下,一直做某事

if流程语句

语法:
	if 条件语句:
		执行代码1
	else:
		执行代码2

条件语句:必须是一个可以用bool值判断的

流程图:

用户登录实例:
	#coding=utf-8
	username = 'admin' #设置默认用户名
	password = '123' #设置默认密码
	user_input = raw_input('Please input your name:') #提示用户输入用户名
	passwd_input = raw_input('Please input your password:') #提示用户输入密码
	if user_input == username and passwd_input ==password: #验证用户名和密码是否和默认值相同
		print 'welcome %s login.'%user_input
	else:
		print 'your name or password is wrong!'
改进:

现在需要实现访客输入‘guest’后不需要输入密码,直接就可以登录进去;正常输入用户名的情况下还需要输入密码才能输入

	#coding=utf-8
	username = 'admin' #设置默认用户名
	password = '123' #设置默认密码
	guest_name = 'guest'
	user_input = raw_input('Please input your name:') #提示用户输入用户名
	if user_input == guest_name:
	      print 'welcome %s login.'%guest_name
	elif user_input == username:
	      passwd_input = raw_input('Please input your password:') #提示用户输入密码
	      if passwd_input ==password: #验证用户名和密码是否和默认值相同
	            print 'welcome %s login.'%user_input
	else:
	      print 'your name or password is wrong!'

运行结果:

while循环

语法:
	while 判断条件:
		循环语句
实例1:计算1到100的和
	#coding=utf-8
	i = 1
	sum = 0
	while i<=100:
		sum += i
		i+=1
	print sum
实例2:打印九九乘法表(while实现)
	#coding=utf-8
	i = 1
	j = 1
	while i < 10:
	      while j <= i:
	            if( j == i):
	                  print i,'x',j,'=',i*j
	            else:
	                  print i,'x',j,'=',i*j,' ',
	            j += 1
	      i += 1
	      j = 1

运行结果: