python简单易学,但是往深了学还是挺难的,关键是有些函数接口使用时老是记不住,以下这篇博客即使对python语言知识点的一个梳理也是对一些函数等知识的记录。
1.变量与简单数据类型
(1)变量命名规则和使用
变量只能由字母、数字和下划线组成,并且不能以字母开头;不能将python内部的关键字和函数名来命名;推荐使用下划线进行作为单词之前的连接符,例如:name_nums;尽量不用小写字母l和o;推荐使用小写的变量名;
(2)字符串
使用单引号或者双引号括起来的字符,例如:'hello world',与“hello world" 相同。
几个简单有用的函数,.
>>> name="zhou li"
#title()函数,把所有单词的首字母改为大写
>>> print(name.title())
Zhou Li
>>> print(name.upper())
ZHOU LI
#lower()函数,把字符串的所有字母改为小写
>>> print(name.lower())
zhou li
>>> lover="lover fruit"
#使用+号来拼接字符串
>>> name+lover
'zhou lilover fruit'
#使用\t或\n在字符串内随意添加制表符和换行符
>>> print("\thellow\nworld")
hellow
world
>>> string=" name "
#rstrip()函数,删除字符串开始的空白
>>> string.rstrip()
' name'
#lstrip()函数,删除字符串末尾的空白
>>> string.lstrip()
'name '
#strip()函数,删除字符串两头的空白
>>> string.strip()
'name'
(3)数字
数字类型包括整数浮点数,可以直接进行加(+)、减(-)、乘(*)、除(/)、乘方(**)。
>>> 3+6
9
>>> 6-2
4
>>> 6*3
18
>>> 3/2
1.5
#不需要c++中对数字进行float转换,得到的结果就是浮点型数据(仅限python3,python2依然需要对在除运算之前对整数做浮点型处理
>>> 1/3
0.3333333333333333
>>> 2**3
8
#需要使用str()函数将整数转化为字符串才能做字符串的加减法
>>> str(23)+"zhouli"
'23zhouli'
2.列表
(1)什么是列表
由一系列按照特定顺序排列的元素(可以是字母、数字、字符串、甚至可以是列表等)组成,元素之间没有任何关系。
>>> a=["zhouli",2,"43",['2',4],3.23]
#列表中放入任何元素都行
>>> a
['zhouli', 2, '43', ['2', 4], 3.23]
#使用[]取值,第一个元素从0开始
>>> a[0]
'zhouli'
#-1表示最后一个元素,同样的-2表示倒数第二个元素
>>> a[-1]
3.23
#修改列表元素的值
>>> a[-1]=89
>>> a
['zhouli', 2, '43', ['2', 4], 89]
#append()函数,在列表的最后添加一个元素
(2)列表的元素修改
>>> a.append("new")
>>> a
['zhouli', 2, '43', ['2', 4], 89, 'new']
#insert()函数,在列表第一个添加一个元素
>>> a.insert(1,"第二个元素")
>>> a
['zhouli', '第二个元素', 2, '43', ['2', 4], 89, 'new']
#删除列表的元素,不能使用
>>> del a[0]
>>> a
['第二个元素', 2, '43', ['2', 4], 89, 'new']
#pop()函数,与append()方法相对应,删除列表的最后一个元素,可以把参数进行赋值
>>> a.pop()
'new'
>>> a
['第二个元素', 2, '43', ['2', 4], 89]
>>> a=["zhouli",2,"43",['2',4],3.23]
>>> a
['zhouli', 2, '43', ['2', 4], 3.23]
#remove()函数,移除指定列表中的指定变量,如果相同的有多个,只移除第一个。
>>> a.remove(2)
>>> a
['zhouli', '43', ['2', 4], 3.23]
(3)列表的元素顺序组织
>>> people=['alinda','liuli','zhouqinag','xuwen','shushan']
>>> people
['alinda', 'liuli', 'zhouqinag', 'xuwen', 'shushan']
#sort函数对列表元素进行排序,从低到高的顺序,并且是永久性的改变列表。
>>> people.sort()
>>> people
['alinda', 'liuli', 'shushan', 'xuwen', 'zhouqinag']
>>> num=[1,2,4,90,3,6]
>>> num.sort()
>>> num
[1, 2, 3, 4, 6, 90]
#sort(reverse=True)函数,传入reverse参数可以对其进行反向排序
>>> people.sort(reverse=True)
>>> people
['zhouqinag', 'xuwen', 'shushan', 'liuli', 'alinda']
>>> num.sort(reverse=True)
>>> num
[90, 6, 4, 3, 2, 1]
#sorted()函数,对列表进行临时排序,并不改变列表元素的顺序
>>> sorted(num)
[1, 2, 3, 4, 6, 90]
>>> num
[90, 6, 4, 3, 2, 1]
>>> num
[1, 3, 2, 90, 6]
#reverse()函数,调换列表的顺序
>>> num.reverse()
>>> num
[6, 90, 2, 3, 1]
#len()函数,确定列表的长度
>>> len(num)
5
(4)列表的操作
>>> city
['xian', 'tianjin', 'shenzhen', 'dali', 'beijing']
#使用for循环,依次输出列表的所有元素。
#python与c++最大的不同是python采用缩进的方式来得到程序的组织结构。
>>> for i in city: print(i)
xian
tianjin
shenzhen
dali
beijing
#range(a,b,step)函数,得到(a,b)范围内每隔step长的所有整数,不包括b,没有a的话,默认从0开始,没有step的话默认为1。
>>> for i in range(1,5):print(i)
1
2
3
4
#list()函数,把range生成的数据转换为列表。
>>> num=list(range(1,5))
>>> num
[1, 2, 3, 4]
>>> num=list(range(2,11,2))
>>> num
[2, 4, 6, 8, 10]
#min()函数、max()函数、sum()函数,这三个函数能够得到列表的最小值、最大值、列表所有值的和。
>>> min(num)
2
>>> max(num)
10
>>> sum(num)
30
#列表解析,一行代码可以代替for循环或者if判断的多行代码,把列表开始的元素根据元素后面的要求自动进行。
>>> a=[i**2 for i in range(1,10)]
>>> a
[1, 4, 9, 16, 25, 36, 49, 64, 81]
#切片获取,通过双冒号索引得到对应的元素,索引方式为,start:end:step。其中start默认为0,end默认为-1,step默认为1,不包括end。
>>> a=[i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[2:5:2]
[2, 4]
>>> a[2:5]
[2, 3, 4]
>>> a[:]#获得所有的数据
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#列表的等号赋值,并不是创建了一个独立的变量而是把变量给变量添加了一个新的名字。
>>> a=[2,3]
>>> b=a
>>> a.append(4)
>>> a
[2, 3, 4]
>>> b
[2, 3, 4]
#元组tuple,使用圆括号表示,与列表类似,唯一的区别是它的元素不能被修改,
>>> a=(1,2)
>>> a
(1, 2)
>>> a[0]=4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
#enumerate()函数,可以得到列表值、以及值的序号。
>>> for id,value in enumerate(a):print(id,value)
0 2
1 3
3.字典
字典类型包括键和值,并且使用大括号表示,键值对的添加顺序没有关系,存储的键值对的关联关系。
#使用{}来创建空的字典,使用[]来进行索引值。
>>> a={}
>>> a['people']='xiaoming'
>>> a['num']=5
>>> a
{'people': 'xiaoming', 'num': 5}
#使用del命令来进行删除字典中的键值对,被删除的键值对永远的消失了。
>>> del a['people']
>>> a
{'num': 5}
>>> a
{'num': 5, 'school': 'dongchag', 'age': 17, 'love': 'dog'}
#可以使用items()函数,进行遍历字典分别得到键值对。
>>> for k,v in a.items(): print(k,v)
num 5
school dongchag
age 17
love dog
#keys()函数可以获得字典的所有键,可以使用键来获得值。
>>> for i in a.keys(): print(a[i])
5
dongchag
17
dog
#也可以通过keys和values来获得
>>> a.keys()
dict_keys(['num', 'school', 'age', 'love'])
>>> list(a.keys())
['num', 'school', 'age', 'love']
>>> a.values()
dict_values([5, 'dongchag', 17, 'dog'])
>>> list(a.values())
[5, 'dongchag', 17, 'dog']
4.嵌套
可以在字典中存储列表还可以在列表中存储字典,进行嵌套使用。
#列表中嵌套字典的使用方式
>>> point1={'x':1,'y':2}
>>> point2={'x':6,'y':4}
>>> point3={'x':3,'y':1}
>>> points=[point1,point2,point3]
>>> points
[{'x': 1, 'y': 2}, {'x': 6, 'y': 4}, {'x': 3, 'y': 1}]
#字典中嵌套列表的使用方式
>>> a={}
>>> food1=['apple','banana']
>>> food2=['rice','grape']
>>> a['xiaoming']=food1
>>> a['xiaohong']=food2
>>> a
{'xiaoming': ['apple', 'banana'], 'xiaohong': ['rice', 'grape']}
#在字典中嵌套字典的使用方式
>>> points={}
>>> points['point1']=point1
>>> points['point2']=point2
>>> points['point3']=point3
>>> points
{'point1': {'x': 1, 'y': 2}, 'point2': {'x': 6, 'y': 4}, 'point3': {'x': 3, 'y': 1}}
5.函数的模块导入
#函数命名注意事项:函数或者模块的命名尽量采用描述性的名,这样方便自己和别人的理解,并且再其中使用小写字母和下划线表示。
#从module模块中导入fun函数,可直接使用fun函数
from module import fun
#导入module模块,使用模块中的函数时需要使用module.fun的方式
import module
#导入module模块并且命名为md
import module as md
#导入module模块中的所有函数
from module import *