IDLE: 调试 熟悉python代码的风格和规定 ,可以进行简单的运算。 若要执行一段代码,打开NEW FILE,写一段代码保存。
python的基本数据类型 : int(整数) float(浮点数) 单精度(float) 双精度(double) 其他语言 short,int,long
type 类型 我要知道 “1” 是什么类型 于是:type(“1”) 执行这一段 结果:<class ‘str’>
isinstance类型 例:a=’1‘ isinstance(a,str)=True isinstance(a,(str,int))=True isinstance(a,int)=False
由str可以推的:
str:字符串
int: 整数
float:浮点数
tuple:括号() or (列表) 注: 若是type((1)) 结果为 int ,同理可得,type((1.0)) 结果为float等等
list: 列表[ ]
set:非空无序集合{}
dict:空集{}
……
bool 判断真假 or是否为空集
举例子:
bool(1+1=2) True
bool(1>2) False
bool(2) True #首字母必须大写,False也是这样的
bool() False
bool('') False
转义字符 \n 换行 \' 单引号 \t 横向制表符 \r 回车
如果在一行代码中出现上列转义字符,不想让它生效的话,一行代码前面添一个r、
例如: print(r"What is 3 +2?\n",3+2)
打印出来是 What is 3 +2?\n 5
而不是 What is 3 +2?
5
( ) [ ] 是有序的,运算符号有+ 和*等,可以切片和索引。
{ } 是无序的,运算符号是 - ,& 和 | 等,不能切片和索引。
接下来看看两个例子
a=1 a=[1,2,3,4,5]
b=a b=a
a=3 a[0]=7
print(b) print(b)
b=1 b=[7,2,3,4,5]
按理来说,第二个例子的b的值应该保持不变的,为什么会有这个情况发生呢?
我们总结一下:
int str tuple(不可改变) 值类型
list set dict (可变)
接下来我们用代码来理解一下 is 的作用 (用id来检测身份)
a=(1,2,3) b=(2,1,3) 可得a!=b a is not b
a={1,2,3} b={2,1,3} 可得a=b a is not b
上下区别的原因很简单 {}是无序的,再然后的原因就是身份不同,即使是值相同,id也不相同,自然不能判定为身份相同
2 or 3 = 2 , 2 and 3= 3 , 2 or [ ] =2 , 2 and [ ] =[ ]
2 & 3 =2 (按位或) 2 | 3 = 3(按位与 )
a=2
b=3
c=3
not (a or b) + 2 == c True
补充此图,位运算符(把数字当作二进制来运算):
& 按位与 | 按位或 ^ 按位异或 ~ 按位取反 << 左移动 >> 右移动
基础代码入门
if语句(条件):
在python中 if else 正确的填写形式模板应该为
if x == 1:
print(’a‘)
elif x== 2:
print(’b‘)
elif x == 3:
print(’c‘)
else:
print(’d‘)
while语句(循环):
condition =11
While condition>1 :
condition -= 1
print(condition)
else:
print('go')
最后运行出来的结果自然是 10 9 8 7 6 5 4 3 2 1 go
for语句(遍历):
a=[1,2,3,4,5]
for x in a
if x == 2:
continue
print(x)
最后的结果自然是 1,3,4,5
当然 for遍历语句还有其他用法。例:
a=[1,2,3,4,5]
for b in range(0,len(a),2):
print(a[b])
结果自然是1,3,5