python中没有++ -- 自增自减符,有+=,-=
x,y,z=1,2,"string" python中允许这样赋值,两边都是元组
python中不用使用第三方的变量,直接交换两个变量
x,y=y,x #就这样就可以了
中文注释要加上 #coding=utf-8
python大小写敏感的
不要把py文件命名为系统python文件的名字或者你所调用的库中py文件的名字,如mxnet中的某些py文件
每个对象都会有一个__doc__属性,用于描述该对象的作用
变量无需事先声明
变量无需指定类型
程序员不用关心内存管理
变量名会被回收
del语句能够直接释放资源,如del a,删除掉a变量
#!/usr/bin/env python
import os
os.linesep #给出当前平台使用的行终止符 一般输出"\n"
使用os.path.exists("")检验文件或者文件夹 存不存在,存在返回True,不存在返回False
python提供is is not 来测试两个变量是否指向同一个对象。其也等价于id()
python中可以这样写,if 1<a<50: ,C++不可以的 ,当然python也可以 if a>1 and a<50
python 会对一些小整型进行缓存,范围大概是(-1,100)
cmp函数比较两个数的大小,若大于则返回正数,小于返回负数
cmp( x, y )如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
str与repr都是将其他类型转换为字符串类型, 区别在于str是表现人看的,repr是表现给python看的
eval()函数正好相反,eval是将字符串类型转化为其他类型(整型、list、tuple、dict)
不论列表的值怎么变,其id始终不变
python中可变类型:list、dict,不可变类型: 数字、字符串、tuple
python不支持指针、char,也不需要分int/short/long,其整型就是整型,也没有float/double之分
删除整型,直接del num;
python中的序列包括:字符串、列表、元组
序列的通用操作符
序列的切片操作,有第三个参数
s="abcdefg"
s=[::-1] # 翻转操作,输出gfedcba
s=[::2] #" 输出aceg"
python序列的索引值包括起始,不包括结束
python 字符串格式化输出有两种形式:百分号方式、format方式。
1、百分号方式
>>> s = 'i am %s,age %d' %('cai',18)
>>> print(s)
i am cai,age 18
>>> s = 'i am %(n1)s,age %(n2)d' %{'n1':'cai','n2':18}
>>> print(s)
i am cai,age 18
>>> s = 'i am %(n1)+10s,age %(n2)d' %{'n1':'cai','n2':18}
>>> print(s)
i am cai,age 18
>>> s = 'i am %(n1)+10s,age %(n2)10d' %{'n1':'cai','n2':18}
>>> print(s)
i am cai,age 18
2、format方式
i1 = "i am {},age {} ,{}".format('cairui',18,'kk')
print(i1)
i am cairui,age 18 ,kk
i1 = "i am {0},age {1} ,{0}".format('cairui',18)
print(i1)
i am cairui,age 18 ,cairui
i1 = "i am {name},age {age} ,{name}".format(name='cairui',age=18)
print(i1)
i am cairui,age 18 ,cairui
python 字符串前加r,忽略转义字符。
python chr、ord函数:
chr的参数是0 - 256 的一个整数,返回值是当前整数对应的ascii字符
ord参数是一个ascii字符,返回值是对应的十进制整数
3.python字符串内建函数:
字符串是不能被修改或者改变的,这意味着如果想修改一个字符串,或者截取一个子串,或者在字符串的末尾连接另一个字符串,必须新建一个字符串。
python字符串不是通过NULL或者‘\0’来结束的
列表不仅可以包含python的标准类型,而且可以用用户自定义的对象作为自己的元素,列表可以包含不同类型的对象。
列表删除: 如果确切的知道要删除元素的索引,可以用del 删除列表中的某个元素,否则可以用remove删除列表的某个值(根据值删除的,不是index),还可以通过pop方法来删除并从列表返回一个特定的对象。
一般来说,程序员不需要去删除一个列表对象,但是如果想删除的话,也可以,使用del 就可以了,也就是说,del既可以删除单个列表的元素,又可以删除整个列表。
列表可以通过slice进行整体赋值
其中index是返回某个值的索引
reverse与sort都是对原本的list进行操作的,不可逆转,且无返回值,reserved和sorted不在原本list上进行改变,有返回值。
只有一个元素的元组要加上逗号,如 a=(1,),而不能写a=(1)
在解包时,也要加逗号 b,=a 这样才可以得到 b=1,否则得不到
不可以单独删除单个元组的元素,只能用del删除整个元组,其实一般情况下,不需要用户删除列表、元组
像上面说的,所有的多对象的、逗号分割的、没有明确用符号定义的,都是元组。
字典中的键不允许被改变,字典不支持拼接和重复(*号),从python2.2开始,程序员可以不用has_keys()方法,而用in和not in操作符来检查某个键是否存在于字典中:
“names” in dict1 #以这种方式
>>>dict(zip(('x','y'),(1,2)))
{'x': 1, 'y': 2}
字典的keys()、values()、items(),分别返回键、值、键值元组的列表。
所有不可变的类型都是可哈希的,都可以作为字典的键
序列、字典、文件都可以迭代装饰器 lambda
类