Python知识点汇总

python的一个特点:
一个对象对应一个ID;(C语言中一个变量对应一个ID,改变变量的值,其ID不变)
有些ID里存放的对象内容不可改变,内容变了就是另一个对象了,对应另一个ID;
有些ID里存放的对象内容可以改变的;

1.python 没有自增自减运算符
python 中,变量是以内容(对象)为基准而不是像 c 中以变量名为基准;
变量名是对”对象“的引用,一个对象可同时被多个不同的变量引用;

python 中,类型属于对象,变量是没有类型的,仅仅是一个对象的引用(一个指针);

当通过一个变量名改变其引用的对象内容后,其他引用该对象的变量其对象内容也随之发生改变,但是ID保持不变。
>>> a = [1, 2, 3]  
>>> b = a  
>>> c = []  
>>> c = a  
>>> d = a[:]  
>>> a, b, c, d  
([1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3])  
>>> b[0] = 'b'  
>>> a, b, c, d  
(['b', 2, 3], ['b', 2, 3], ['b', 2, 3], [1, 2, 3])  
>>> id(a), id(b), id(c), id(d)  
(140180778120200, 140180778120200, 140180778120200, 140180778122696) 

2.python使用del解除变量对“对象”的引用,或者使用del删除列表中的个别元素

list = ['Google', 'Runoob', 1997, 2000]
del list[2]
3.python中的字符串可以当做列表来使用
var1 = 'Hello World!'
var2 = "Runoob"a = "Hello"
b = "Python" 
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])if( "H" in a) : 
print("H 在变量 a 中")
else : 
print("H 不在变量 a 中") 
if( "M" not in a) : 
print("M 不在变量 a 中")
else : 
print("M 在变量 a 中")

字符串常用的一些内建函数:

string.strip()      #在字符串上执行 lstrip()和 rstrip()。依次删除字符串首尾的空格
string.strip(char)    #依次删除字符串首尾中指定的字符(串),只能作用于首尾。
#该函数返回新字符串,原字符串无变化,遵循字符串是不可变类型对象
string.split()    #默认按空字符,包括空格、换行(\n)、制表符(\t)等来分割string
string.split(char,num)    #按指定的字符char分割num次;
#该函数返回一个列表
string.replace(old,new)    #将字符串中的所有的 old(旧字符串) 替换成 new(新字符串)
string.replace(old,new,max)    #max为最大替换次数
#该函数返回新字符串
str.lower()
str.upper()
str.rjust(length)    #字符串右对齐,左边补空格生成新的字符串,length表示新字符串的长度;类似的还有:str.ljust();str.center();
str.zfill(length)    #在字符串左边填充0生成新的字符串
str.format()        #将str中用{}括住的部分依次用format()中的参数替换;{}中若自定义有键,format()的参数定义格式为:自定义键=值
'{} {} {}'.format("1","2","3")
'{a} {b} {c}'.format(a="1",b="2",c="3")
'{0} {1} {2}'.format("1","2","3")    #默认键为0,1,2...
'{0:10d} {1:.2f} {2:5.2f}'.format(1,2,3)    # :后面为格式化符号
str.rfind(s)    #返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1


4.列表常用的一些方法:
删除元素del,截取[:],拼接+,迭代遍历,追加元素append(),插入insert(),计算长度len(),复制*,判断元素是否存在 ,清空元素clear(),元素排序sort(),颠倒元素顺序reverse(),取出最后一个元素pop()
list.insert(index, obj)
list.append(obj)
list.clear()
list.sort()
list.reverse() 
list.pop()    #返回最后一个元素,原列表元素少一

#下面几种用法也适用与字符串,元组,集合,字典
#同时遍历多个列表, 使用zip()将多个列表先打包
for q1, q2 in zip(seq1,seq2):
  print(q1, q2)
#反向遍历一个列表
for q in reversed(seq):
  print(q)
#排序后遍历一个列表
for q in sorted(seq):
  print(q)
5.元组tuple不能修改引用的对象,没有append(), insert(), clear() 方法

定义只含一个元素的tuple:

t=(1,)        #末尾,不能省
t=(1,2,[3,4])    #其中的列表元素可修改

6.tuple用( , )定义,列表用[ , ]定义,字典用{ , }定义


7.集合

定义集合使用{ , } 或 set()函数,不能直接使用()

定义时,{ , }中若是单个元素则为集合;{ , }中若是键值对则为字典

s=set(list)    #set()将一个列表转化为集合,自动删除重复的元素
s.add(5)
s.remove(1)
8.字典特有的一些方法:
str(dict) #以字符串形式返回整个字典
dict.keys() #以列表形式返回整个字典的键
dict.values() #以列表形式返回整个字典的值
dict.items() #以列表形式返回整个字典的键值对,每个键值对为一个tuple
#同时遍历键、值
for k, v in dict.items():
  print(k, v)
9.python的复合赋值
a, b = 1, 2
a, b = b, a+b
10.python中的print()可同时输出多个变量
print(a, b, c)
print(a, end=',')    #end表示以。。。结尾
print(a, b, c, sep='/')    #sep表示以。。。分割
11.python中的条件语句
if 条件表达式:
  pass      #如果没有内容,可以先写pass,但是如果不写pass,就会语法错误
elif 条件表达式:
  pass
else:
  pass

12.python中的循环语句

while 条件表达式:
  pass

while 条件表达式:
  pass
else:        #else只在循环正常终止时执行;若以break语句提前跳出则不执行else部分,下同
  pass

for var in seq: #var依次等于seq中的每一个元素
  pass
else:
  pass
13.python中常用的一些内置函数(其他)
range(num) 
range(start, end)
range(start, end, step)
round(x,n)    #对数字x四舍五入,保留n为小数
input(argv)     #读取键盘输入
#文件处理
f=open(filename, mode)    #返回一个file对象,该对象可调用其他文件对象的方法
f.read()
f.seek(pos)    #设置文件当前位置为pos
f.tell()        #返回一个表示文件当前位置的数字
f.readline()    #f.readline() 会从文件中读取单独的一行。换行符为 '\n'。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
f.readlines()    #f.readlines() 将返回该文件中包含的所有行,存为一个列表。
f.writelines([str])    #用于向文件中写入一序列的字符串。一个字符串占据一行。
f.write(argv)
f.close()

14.python定义函数

def 函数名(参数列表):
  ...
  return
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。
不带参数值的return语句返回None。

15.python中的对象类型可分为不可变类型(如整数、字符串、元组)和可变类型(如列表、字典)不可变类型对象:不能通过变量(指针)修改该对象的内容,即该对象是一个整体
可变类型对象:能通过变量(指针)修改该对象的内容
b = 10
b = 2    #b指向了另一个新的对象,并不是改变了原对象

a = [1,2,3]
a[0] = 'hello'    #a仍然指向原对象,并通过指针修改了原对象的内容

不可变类型对象作为函数参数时,其内容不可被函数改变;

可变类型对象作为函数参数时,其内容可在函数中被改变;

16.python中的推导式

列表推导式:[[模式 for var1 in seq1] for var2 in seq2 ...]    #前面是内层,后面是外层
元组推导式:(模式 for var1 in seq1)
集合推导式:{模式 for var1 in seq1}
字典推导式:{模式 for var1 in seq1}

17.python中的正则表达式

re 模块使 Python 语言拥有全部的正则表达式功能。

#re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
re.match(pattern, string, flag)    #flag 用于控制正则表达式的匹配方式
#re.search 扫描整个字符串并返回第一个成功的匹配。
re.search(pattern, string, flag)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值