#不做咸鱼但是鸽了很多天-Python元组,列表和一些变量的命名规则以及逻辑、loop

同样只列出一些特别值得注意,以及和java/c/c++有瞩目不同的地方

1.基本类型:元组和列表

  1. tuple 元组不可变 mytuple=(123,) //mytuple=(123)时会被认成int,很坑。
  2. List 列表可变 mylist=[12,3,4,’a’,(123,345,678),b]
  3. mylist[-2][-1] = ‘a’ 是不被允许的操作 但是如果mytuple=(12,3,4,’a’,[123,345,678],b),mytuple[-2][-1]=’a’ 是被允许的操作
  4. 对列表截取变量:mylist=mylist[1:] 砍头 ** mylist=mylist[:-1] 去尾

2.有关变量的命名和类型

1)比如常用的++a,在pyhton是正的正a,和a++,++a,a=a+1没关系
2)python中相同数据的赋值,会共享同一片地址空间
import sys
sys.getrefcount(value)可以查引用计数,用del可以减1引用计数,至0释放。
可以用id(value)查看地址来验证

3.字符串

str=’123456’
str[1] >>2
str[1:4] >>2345
str[::-1] >>’654321’ /从-1开始输出

4.一些运算规则

python2:除法向复杂的数据类型靠拢 // 5 / 2 和 5.0 / 2是不一样的
python3:除法一律精确到浮点数
其他算数返回值取决于运算数字之中最复杂的类型
anders:
// 向下取整
round(a,b)b是精度,四舍五入公式。
**幂值运算 achtung! ‘^’在python是位运算亦或的标识符


swap

a=1
b=2
a=a^b //a=3
b=b^a //0011 ^ 0010 = 0001
a=a^b //0011 ^ 0001 = 0010


还有一点非常不一样,就是在pascal等语言里not(取反)是一元运算(逻辑)符,所以一般优先级都很高,然而在python里面是优先级最低的,和and or一个优先级。谨记。。

5.loop

for循环
for var in mylist
    print var

猜你喜欢

转载自blog.csdn.net/zhubozhen/article/details/80035469