python学习之基础语法(其三)
1.python算术运算符
// 加减乘除算术和其它语言没什么区别
// % 取模——返回除法的余数
// ** 冥——返回x的y次冥
// // 取整除——返回商的整数部分
// 特别注意:python2.x里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个改成浮点数即可。
2.python比较运算符
// python比较运算符包括==,!=,<>,>,<,>=,<=
3.python赋值运算符
// python赋值运算符包括=,+=,-=,*=,/=,%=,**=,//=
4.python位运算符
// python位运算符包括&,|,^,~,<<,<<
// 特别的,python支持按位异或(^)运算符:当两对应的两个二进制位有一个为1时,结果位就为1
5.python逻辑运算符
// python逻辑运算符包含and,or,not
6.python成员运算符
// in 如果在指定的序列中找到值返回True,否则返回False
// not in 如果在指定的序列中没有找到值返回True,否则返回False
# 实例
#!/usr/bin/env
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print("1 - 变量 a 在给定的列表中 list 中")
else:
print("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print("2 - 变量 b 不在给定的列表中 list 中")
else:
print("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print("3 - 变量 a 在给定的列表中 list 中")
else:
print("3 - 变量 a 不在给定的列表中 list 中")
7.python身份运算符
// is——is是判断两个标识符是不是引用自同一个对象
// is not——is not是判断两个标识符是不是引用自不同对象
// 注:id()函数用于获取对象内存地址。
// 【is 与 == 区别】:is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
#实例
#!/usr/bin/env
a = 20
b = 20
if ( a is b ):
print("1 - a 和 b 有相同的标识")
else:
print("1 - a 和 b 没有相同的标识)
if ( a is not b ):
print("2 - a 和 b 没有相同的标识")
else:
print("2 - a 和 b 有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print("3 - a 和 b 有相同的标识")
else:
print("3 - a 和 b 没有相同的标识")
if ( a is not b ):
print("4 - a 和 b 没有相同的标识")
else:
print("4 - a 和 b 有相同的标识)
8.python运算符优先级
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~+- | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| 乘,除,取模和取整除 |
| 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND’ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += = *= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
#实例
#!/usr/bin/env
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d); # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d; # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)
9.python条件语句
// python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
// 由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
// 当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
# 实例1
#!/usr/bin/env
# 例2:elif用法
num = 5
if num == 3: # 判断num的值
print('boss')
elif num == 2:
print('user')
elif num == 1:
print('worker')
elif num < 0: # 值小于零时输出
print('error')
else:
print('roadman') # 条件均不成立时输出
# 实例2
#!/usr/bin/env
# 例3:if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print('hello')
# 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print('hello')
else:
print('undefine')
# 输出结果: undefine
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print('hello')
else:
print('undefine')
# 输出结果: undefine
10.python循环语句
// python提供了for循环和while循环(在Python中没有do..while循环)
// while循环——在给定的判断条件为 true 时执行循环体,否则退出循环体。
// for循环——重复执行语句
// 嵌套循环
// 循环控制语句可以更改语句执行的顺序。
// break 语句——在语句块执行过程中终止循环,并且跳出整个循环
// continue 语句——在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
// pass 语句——pass是空语句,是为了保持程序结构的完整性。
# 实例1——通过序列索引迭代
#!/usr/bin/env
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('当前水果 :', fruits[index])
print("Good bye!")
#实例2——wheil循环使用 else 语句
#!/usr/bin/env
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
#实例3——for循环使用 else 语句
#!/usr/bin/env
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print('%d 等于 %d * %d' % (num,i,j))
break # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')
#实例4——Python 循环嵌套——输出2~100之间的素数
#!/usr/bin/env
i = 2
while(i < 100):
j = 2
while(j <= (i/j)):
if not(i%j): break
j = j + 1
if (j > i/j) : print(i, " 是素数")
i = i + 1
print("Good bye!")