随笔 - 52  文章 - 0  评论 - 2  阅读 - 16522

Python知识点复习_1

内容:

1.python的基本语法
2.python字符串常用操作方法
3.python列表的常用操作方法
4.python字典的常用操作方法

python基础知识

1.python的基本语法

1.缩进

Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。缩进成为了语法的一部分。
官方建议使用4个空格来表示每级缩进。



2.控制语句

if语句,与else, elif(相当于else if) 配合使用。
if True:
    exception1
elif:
    exception2
.....
.....   
else:
    exception3


for语句
for i in range(1,100,2):
    print(i)


while语句
while True:
    exception


try语句,与except,finally配合使用处理异常情况。
try:
    exception
except Error,e:
    exception
else:
--------------
try:
    exception
finally:
    exception


raise语句,制造一个错误。   
try:
    ...
except exception:
    ...
else:
    ...
finally:
...
raise exception   


class语句,用于定义类型。
def classname():
    exception


def语句。用于定义函数和类型的方法。
def funcname():
    exception


pass语句,表示此行为空,不运行任何操作。
if True:
    pass


assert语句,用于程序调适阶段时测试运行条件是否满足。


with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。


yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。


import语句,导入一个模块或包,用逗号分割模块名称就可以同时导入多个模块
import sys
import os as system


from import语句,从包导入模块或从模块导入某个对象。
from socket import gethostname, socket
from socket import *   # 载入所有对象到当前名字空间


import as语句,将导入的对象赋值给一个变量。
import socket as net, thread as threads


in语句,判断一个对象是否在一个字符串/列表/元组里。
num=[1,2,3,4]
1 in num
True





3.表达式

主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~,%

3+2 加法或者取正
5

3-2 减法或者取负
1

3*2 乘法
6

3**2 取幂
9

3/2 除法
1.5

3//2 地板除
1

a=3 按位取反
~3
-4

3%2 取模
1

二进位向左移位运算符。左操作数的值左移由右操作数指定的位数
a << 2
12

表示右移和左移,二进位向右移位运算符。左操作数的值是由右操作数指定的位数向右移动。
a >>2
0


& 二进制的AND(与)
| 二进制的OR(或)
^ 二进制的XOR(非)
Python使用and, or, not表示逻辑运算。


> 大于
< 小于
== 等于
!= 不等于
<= 小于等于
>= 大于等于
在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。


is, is not用于比较两个变量是否是同一个对象。

a=123
b=1234
a is b
False

b=123
a is b
True


in, not in用于判断一个对象是否属于另外一个对象。

num=[1,2,3,4]
1 in num
True

num=[1,2,3,4]
5 not in num
True


Python支持“列表推导式“,比如计算0-9的平方和:

sum(x * x for x in range(10))
285

2.python字符串常用操作方法

python字符串操作常用操作,如字符串的替换、删除、截取、复制、连接、比较、查找、分割等。


1.去除空格
str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格

a='   hello   '
b=a.strip()
print(b)
hello

str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格

a='   hello   '
b=a.lstrip()
print(b)
hello      #右边空格可能看的不是很明显

str.rstrip():删除字符串右边指定字符,默认为空格

a='   hello   '
b=a.rstrip()
print(b)
hello





2.复制字符串

a='hello world'
b=a
print(a,b)
hello world hello world





3.连接字符串

+:连接2个字符串

a='hello '
b='world'
print(a+b)
hello world
注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),
在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连  那么会开辟n-1次内存,是非常耗费资源的。

str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)

a='hello '
b='####'
a.join(b)
'#hello #hello #hello #'





4.查找字符串 

#str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
str.index:检测字符串中是否包含子字符串str,可指定范围

a='hello world'
a.index('l')
2
a.index('x')
Traceback (most recent call last):
    File "<pyshell#40>", line 1, in <module>
        a.index('x')
ValueError: substring not found

str.find:检测字符串中是否包含子字符串str,可指定范围

a='hello world'
a.find('l')
2
a.find('x')
-1





5.比较字符串

str.cmp:比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数。
#python3已经没有该方法,官方文档是这么写的:
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. 
Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. 
(If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)

a=100
b=80
cmp(a,b)
1





6.是否包含指定字符串

in |not in 

a='hello world'
'hello' in a
True

'123' not in a
True





7.字符串长度

str.len
a='hello world'
print(len(a))
11





8.字符串中字母大小写转换

S.lower() #转换为小写 

a='Hello World'
print(a.lower())
hello world


S.upper() #转换为大写 

a='Hello World'
print(a.upper())
HELLO WORLD


S.swapcase() #大小写互换 

a='Hello World'
print(a.swapcase())
hELLO wORLD


S.capitalize() #首字母大写 

a='Hello World'
print(a.capitalize())
Hello world





9.将字符串放入中心位置可指定长度以及位置两边字符

str.center()

a='hello world'
print(a.center(40,'*'))
**************hello world***************





10.字符串统计

a='hello world'

print(a.count('l'))
3





11.字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值 

S.startswith(prefix[,start[,end]])  #是否以prefix开头 
S.endswith(suffix[,start[,end]])     #以suffix结尾 
S.isalnum()                             #是否全是字母和数字,并至少有一个字符 
S.isalpha()                          #是否全是字母,并至少有一个字符 
S.isdigit()                          #是否全是数字,并至少有一个字符 
S.isspace()                          #是否全是空白字符,并至少有一个字符 
S.islower()                          #S中的字母是否全是小写 
S.isupper()                          #S中的字母是否便是大写 
S.istitle()                          #S是否是首字母大写的





12.字符串切片

str = '0123456789′

print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,截取倒数第五位数与倒数第三位数之间


这里需要强调的是,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。
任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。有不对的地方请多多包涵。

3.python列表的常用操作方法

主要介绍了Python中列表(List)的详解操作方法,包含创建、访问、更新、删除、其它操作等。


1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可

List = ['wade','james','bosh','haslem']

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。





2.添加新的元素

List.append('allen') #方式一:向list结尾添加 参数object

a=[1,2,3,4]
a.append(5)
print(a)
[1, 2, 3, 4, 5]


List.insert(4,'lewis') #方式二:插入一个元素 参数一:index位置 参数二:object

a=[1,2,4]
a.insert(2,3)
print(a)
[1, 2, 3, 4]

List.extend(tableList)  #方式三:扩展列表,参数:iterable参数

a=[1,2,3]
b=[4,5,6]
a.extend(b)
print(a)
[1, 2, 3, 4, 5, 6]





3.遍历列表

for i in List:
    print i,





4.访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

List = [1, 2, 3, 4, 5, 6, 7 ]
print(List[3])
4





5.从list删除元素

List.remove()   #删除方式一:参数object 如有重复元素,只会删除最靠前的

a=[1,2,3]
a.remove(2)
print(a)
[1, 3]


List.pop()   #删除方式二:pop 可选参数index删除指定位置的元素 默认为最后一个元素

a=[1, 2, 3, 4, 5, 6]
a.pop()
6

print(a)
[1, 2, 3, 4, 5]


del List #删除方式三:可以删除整个列表或指定元素或者列表切片,list删除后无法访问。

a=[1, 2, 3, 4, 5, 6]
del a[5]
print(a)
[1, 2, 3, 4, 5]
del a
print(a)
Traceback (most recent call last):
    File "<pyshell#93>", line 1, in <module>
        print(a)





6.排序和反转代码

List.reverse()
a=[1, 2, 3, 4, 5, 6]
a.reverse()
print(a)
[6, 5, 4, 3, 2, 1]


List.sort() #sort有三个默认参数 cmp=None,key=None,reverse=False 因此可以制定排序参数

a=[2,4,6,7,3,1,5]
a.sort()
print(a)
[1, 2, 3, 4, 5, 6, 7]


#python3X中,不能将数字和字符一起排序,会出现此报错

a=[2,4,6,7,3,1,5,'a']
a.sort()
Traceback (most recent call last):
    File "<pyshell#104>", line 1, in <module>
        a.sort()
TypeError: unorderable types: str() < int()  





7.Python列表截取

Python的列表截取与字符串操作类型相同,如下所示:

L = ['spam', 'Spam', 'SPAM!']
操作:
Python 表达式 结果 描述 
L[2] 'SPAM!' 读取列表中第三个元素 
L[-2] 'Spam' 读取列表中倒数第二个元素 
L[1:] ['Spam', 'SPAM!'] 从第二个元素开始截取列表





8.Python列表操作的函数和方法

列表操作包含以下函数:

1、cmp(list1, list2):比较两个列表的元素 (python3已丢弃)
2len(list):列表元素个数 
3max(list):返回列表元素最大值 
4min(list):返回列表元素最小值 
5、list(seq):将元组转换为列表 


列表操作常用操作包含以下方法:

1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序

4.python字典的常用操作方法

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:


1.创建字典

dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

技巧:
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。





2.访问字典里的值

dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
print(dict['ob1'])
computer


如果用字典里没有的键访问数据,会输出错误如下:

print(dict['ob4'])
Traceback (most recent call last):
    File "<pyshell#110>", line 1, in <module>
        print(dict['ob4'])


访问所有值

dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
for key in dict1:
    print(key,dict1[key])    
ob3 printer
ob2 mouse
ob1 computer





3.修改字典

dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
dict['ob1']='book'
print(dict)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'book'}





4.删除字典

能删单一的元素

dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
del dict['ob1']
print(dict)
{'ob3': 'printer', 'ob2': 'mouse'}


删除字典中所有元素  

dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
dict1.clear()
print(dict1)
{}


删除整个字典,删除后访问字典会抛出异常。

dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
del dict1
print(dict1)
Traceback (most recent call last):
    File "<pyshell#121>", line 1, in <module>
        print(dict1)
NameError: name 'dict1' is not defined





5.更新字典

update()方法可以用来将一个字典的内容添加到另外一个字典中:

dict1 = {'ob1':'computer', 'ob2':'mouse'}
dict2={'ob3':'printer'}
dict1.update(dict2)
print(dict1)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'computer'}





6.映射类型相关的函数  

dict(x=1, y=2)  
{'y': 2, 'x': 1}  
dict8 = dict(x=1, y=2)  
dict8  
{'y': 2, 'x': 1}  
dict9 = dict(**dict8)  
dict9  
{'y': 2, 'x': 1}  

dict9 = dict8.copy()  





7.字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 

dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
print(dict1)
{'ob2': 'mouse', 'ob1': 'printer'}


2)键必须不可变,所以可以用数,字符串或元组充当,用列表就不行

dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
Traceback (most recent call last):
    File "<pyshell#125>", line 1, in <module>
        dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
TypeError: unhashable type: 'list'





8.字典内置函数&方法

Python字典包含了以下内置函数:

1、cmp(dict1, dict2):比较两个字典元素。(python3后不可用)
2len(dict):计算字典元素个数,即键的总数。
3str(dict):输出字典可打印的字符串。
4type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。


Python字典包含了以下内置方法:

1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict10、radiansdict.values():以列表返回字典中的所有值
posted on   亚城木CC  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示