python复习笔记[1]——语法和逻辑
来源:互联网 发布:cad2008批量打印软件 编辑:程序博客网 时间:2024/05/15 14:28
标识符:
1. python标识符由字母/数字/下划线组成
2. python标识符区分大小写
3.以单下划线开头的(例如_foo)类属型表示protected成员,只能由类及其子类访问,不能使用“from xxximport *”导入
4.以双下划线开头的(例如__foo)类型表示private成员,只能由类自己访问,子类中也不能访问
5.以双下划线开头及结尾(__foo__)代表python里面特殊方法,例如“def__init__(self)”作为构造函数的定义
python中的保留字:
and
exec
not
assert
finally
or
break
for
pass
class
from
continue
global
raise
def
if
return
del
import
try
elif
in
while
else
is
with
except
lambda
yield
代码块:
python中使用严格的缩进来进行代码块儿的控制,缩进值为4个空格,例如:
class Student:
studentCount = 0; # 类变量
def __init__(self, name, age):
self.name = name;
self.age = age;
Student.studentCount += 1;
return;
多行语句:
可以使用斜杠"\"将一行语句分成多行进行,但是不能将标识符断开,例如:
numA=10
numB=20
numC=numA\
+numB
字符串:
可以使用单引号,双引号和三引号('''或""")来表示字符串,单引号和双引号用处相同,三引号用于多行字符串,例如:
word='word'
sentence="这是一个句子。"
paragraph="""这是一个段落。
包含了多个语句"""
注释:
可以使用#来标识注释内容,也可以使用三引号来当作多行注释(虽然本身其实是字符串)
#单行注释
a=10#也可以放在这里
'''
这是一个多行注释
这是一个多行注释
'''
"""
这也是一个多行注释
这也是一个多行注释
"""
语句:
通常一行代码为一条语句,语句结尾可以不写“;”,如果希望一行中包含多条语句,则需要用“;”分隔
标准数据类型:
python中定义了五类标准数据类型:Numbers(数字),String(字符串),List(列表),Tuple(元祖),Dictionary(字典)
Numbers(数字):
python中支持的数字类型有int,long,float,complex,例如:
int
long
float
complex
10
51924361L
0.0
3.14j
100
-0x19323L
15.20
45.j
-786
0122L
-21.9
9.322e-36j
080
0xDEFABCECBDAECBFBAEl
32.3+e18
.876j
-0490
535633629843L
-90.
-.6545+0J
-0x260
-052318172735L
-32.54e100
3e+26J
0x69
-4721885298529L
70.2-E12
4.53e-7j
String(字符串),List(列表),Tuple(元祖),Dictionary(字典)在后面具体介绍
类型转换:
数
描述
int(x [,base])
将x转换为一个整数
long(x [,base] )
将x转换为一个长整数
float(x)
将x转换到一个浮点数
complex(real [,imag])
创建一个复数
str(x)
将对象 x转换为字符串
repr(x)
将对象 x转换为表达式字符串
eval(str)
用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)
将序列 s转换为一个元组
list(s)
将序列 s转换为一个列表
set(s)
转换为可变集合
dict(d)
创建一个字典。d必须是一个序列 (key,value)元组。
frozenset(s)
转换为不可变集合
chr(x)
将一个整数转换为一个字符
unichr(x)
将一个整数转换为Unicode字符
ord(x)
将一个字符转换为它的整数值
hex(x)
将一个整数转换为一个十六进制字符串
oct(x)
将一个整数转换为一个八进制字符串
运算符:
算术运算符:
运算符
描述
实例
+
加 -两个对象相加
a + b 输出结果 30
-
减 -得到负数或是一个数减去另一个数
a - b 输出结果 -10
*
乘 -两个数相乘或是返回一个被重复若干次的字符串
a * b 输出结果 200
/
除 - x除以y
b / a 输出结果 2
%
取模 -返回除法的余数
b % a 输出结果 0
**
幂 -返回x的y次幂
a**b 为10的20次方,输出结果 100000000000000000000
//
取整除 -返回商的整数部分
9//2 输出结果 4 , 9.0//2.0输出结果 4.0
比较运算符:
运算符
描述
实例
==
等于 -比较对象是否相等
(a == b)返回 False。
!=
不等于 -比较两个对象是否不相等
(a != b)返回 true.
<>
不等于 -比较两个对象是否不相等
(a <> b)返回 true。这个运算符类似 !=。
>
大于 -返回x是否大于y
(a > b)返回 False。
<
小于 -返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
(a < b)返回 true。
>=
大于等于 -返回x是否大于等于y。
(a >= b)返回 False。
<=
小于等于 -返回x是否小于等于y。
(a <= b)返回 true。
赋值运算符:
运算符
描述
实例
=
简单的赋值运算符
c = a + b将 a + b的运算结果赋值为 c
+=
加法赋值运算符
c += a 等效于 c = c + a
-=
减法赋值运算符
c -= a 等效于 c = c - a
*=
乘法赋值运算符
c *= a 等效于 c = c * a
/=
除法赋值运算符
c /= a 等效于 c = c / a
%=
取模赋值运算符
c %= a 等效于 c = c % a
**=
幂赋值运算符
c **= a等效于 c = c ** a
//=
取整除赋值运算符
c //= a等效于 c = c // a
位运算符:
运算符
描述
实例
&
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
(a & b)输出结果 12,二进制解释: 0000 1100
|
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
(a | b)输出结果 61,二进制解释: 0011 1101
^
按位异或运算符:当两对应的二进位相异时,结果为1
(a ^ b)输出结果 49,二进制解释: 0011 0001
~
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
(~a ) 输出结果 -61,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<<
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
a << 2 输出结果 240,二进制解释: 1111 0000
>>
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
a >> 2 输出结果 15,二进制解释: 0000 1111
逻辑运算符:
运算符
逻辑表达式
描述
实例
and
x and y
布尔"与" -如果 x为 False,x and y返回 False,否则它返回 y的计算值。
(a and b)返回 20。
or
x or y
布尔"或" -如果 x是非 0,它返回 x的值,否则它返回 y的计算值。
(a or b)返回 10。
not
not x
布尔"非" -如果 x为 True,返回 False。如果 x为 False,它返回 True。
not(a and b)返回 False
成员运算符:
运算符
描述
实例
in
如果在指定的序列中找到值返回 True,否则返回 False。
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
例如:
list=[1,2,3,4,5];a=1
if(ainlist):print"ainthelist";
not in
如果在指定的序列中没有找到值返回 True,否则返回 False。
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
实例运算符:
运算符
描述
实例
is
is是判断两个标识符是不是引用自一个对象
x is y,如果 id(x)等于 id(y) ,is返回结果 1
is not
is not是判断两个标识符是不是引用自不同对象
x is not y,如果 id(x)不等于 id(y).is not返回结果 1
逻辑控制:
if语法:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
循环语句示例:
# while循环
a = 1;
b = 1;
while (a < 1000000):
print a;
if a == 121393:
break;
c = a + b;
a = b;
b = c;
# while…else语句
ctr = 0;
while ctr < 10:
print ctr;
# add a break here and the "else" branch won't execute
# if ctr == 6:
# break;
ctr += 1;
else:
print "test";
# for循环
fruits = ["apple", "banana", "orange"];
for fruit in fruits:
print fruit;
# 使用range定义for的循环范围
for i in range(len(fruits)):
print fruits[i];
for i in range(50, 100):
if i % 3 == 0:
print i;
# for循环嵌套
two_dim_arr = [[1, 3, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12]];
for i in range(len(two_dim_arr)):
for j in range(len(two_dim_arr[i])):
print two_dim_arr[i][j];
print "\n";
# pass语句(pass语句占位用,并不具有任何执行结果)
for i in range(1, 10):
if i == 5:
pass;
print "pass did nothing, just to keep the structure complete"
print i;
循环控制使用break,continue和pass语句(见上面例子)
- python复习笔记[1]——语法和逻辑
- Java复习笔记[1] —— 基本语法
- Java复习笔记—基础语法
- Python学习笔记 —— 逻辑语句
- python复习笔记[3]——字符串
- python复习笔记[4]——列表
- python复习笔记[7]——函数
- 【黑马程序员】语法、四大语句——Java复习笔记
- Java复习笔记[2] —— 基础语法
- 温故而知新-python语法复习
- Python学习笔记——语法
- Python学习笔记——语法基础
- Python学习笔记 —— 基础语法
- python语法笔记——NumPy入门
- Python学习笔记(3)——逻辑关系
- python复习笔记[2]——数学运算
- python复习笔记[5]——元组与字典
- python复习笔记[6]——时间与日期
- pat 1122. Hamiltonian Cycle (25)
- github新建、删除项目,提交、删除文件
- 图的基本存储的基本方式二
- iOS UITextView 字数限制+提示剩余可输入字数
- Android 高效调试神器 JRebel
- python复习笔记[1]——语法和逻辑
- 读书笔记 effective c++ Item 11 在operator=中处理自我赋值
- 程序的机器级表示(二)
- 项目人力资源管理 教材精选
- activeMQ消息阻塞 丢失 假死--架构
- java四舍五入
- Android开发:浅谈MVP模式应用与内存泄漏
- 手势识别器
- java楊輝三角