1.1.1 Python显示帮助
>>> import cv2
>>> help(cv2.imread)
显示python的内置函数
>>> dir(__builtins__)
1.1.2 变量,字符串,操作符
变量:
变量名可以包括字母,数字,下划线,但是不能数字开头;
大小写敏感
字符串:
可以是单引号和双引号。
转义符号(\)打印单引号和双引号。
添加r表示原始字符串:
>>> print(r'D:\now')
D:\now
>>>
三重单引号或者三重双引号可以显示多行文字,也就是跨行。
变量赋值:
>>> a = b = c = 10
>>> print(a)
10
>>> print(b)
10
>>> print(c)
10
除法:
>>> 10 // 8
1
>>> 10 / 8
1.25
>>> 3.0 // 2
1.0
>>>
幂运算:
>>> 3 ** 3
27
>>> 4 ** 2
16
>>>
逻辑操作符:
and, or, not
1.1.3 字符串的format
>>> "{0} love {1}.{2}".format("i","fishc","come") ###位置参数
'i love fishc.come'
>>> "{a} love {b}.{c}".format(a="i",b="fishc",c="come") ##关键字参数
'i love fishc.come'
>>> "{0:.1f}{1}".format(27.658,"GB")
'27.7GB'
>>>
1.1.4 条件分支和while
条件分支:需要注意缩进是4个空格
While循环:
while guess !=secret:
temp = input('number is wrong ,please input again:')
guess = int(temp)
if guess == secret:
print('you are right')
else:
if guess > secret:
print('number is large')
else:
print('number is small')
print('game is over')
if :
xxxx
elif:
xxx
else:
xxx
1.1.5 类型转换和判断数据类型
int()
str()
float()
判断数据类型:
>>> type('520')
<class 'str'>
>>> type(520)
<class 'int'>
>>> type(5.0)
<class 'float'>
>>> isinstance(520,int)
True
>>> isinstance('520',int)
False
>>>
1.1.6 for循环和range
>>> a = 'wangdi'
>>> for i in a:
print(i,end=' ')
w a n g d i
>>>
>>> member = ['wangdi','changsheng','xiaoming']
>>> for each in member:
print(each,len(each))
wangdi 6
changsheng 10
xiaoming 8
>>>
>>> range(5)
range(0, 5)
>>> range(0,5)
range(0, 5)
>>> list(range(0,5))
[0, 1, 2, 3, 4]
>>> list(range(0,5,2))
[0, 2, 4]
>>> for i in range(0,5):
print(i)
0
1
2
3
4
>>>
1.1.7 列表list
>>> number = [1,2,4,5]
>>> number
[1, 2, 4, 5]
>>> mix = [1,'wangdi',3.14,[1,2,3]] ###可以将数字,字符串,list,对象等放入list中
>>> mix
[1, 'wangdi', 3.14, [1, 2, 3]]
>>>
>>> number.append(10) ###append只能在尾部插入一个数据元素
>>> number
[1, 2, 4, 5, 10]
>>> len(number)
5
>>>
>>> number.extend([4,5]) ###extend是拿一个list来扩展一个list
>>> number
[1, 2, 4, 5, 10, 4, 5]
>>> number.insert(3,100) ####注意index是从0开始的
>>> number
[1, 2, 4, 100, 5, 10, 4, 5]
>>> number[0] ###获取列表中的某个值,下表从0开始
1
>>> number[2]
4
>>> number
[1, 2, 4, 100, 5, 10, 4, 5]
>>> number.remove(4) ####删除元素,其中的名字是匹配上第一个
>>> number
[1, 2, 100, 5, 10, 4, 5]
>>> del number[1] ####删除list中的某个index的元素
>>> number
[1, 100, 5, 10, 4, 5]
>>> number
[1, 100, 5, 10, 4, 5]
>>> number.pop() ###弹出最后一个元素
5
>>> number
[1, 100, 5, 10, 4]
>>> number.pop(2) ##弹出指定index的元素
5
>>> number
[1, 100, 10, 4]
>>> number
[1, 100, 10, 4]
>>> number[1:3] ##选择index=1到index=3-1之间的东西
[100, 10]
>>> number
[1, 100, 10, 4]
>>> number
[1, 100, 10, 4]
>>> number[1:]
[100, 10, 4]
>>> number[:2]
[1, 100]
>>> number[:]
[1, 100, 10, 4] >>> number
[1, 100, 10, 4]
>>> 100 in number ###判断某个元素值是否在list中
True
>>> 1 not in number
False
访问list中的list:
List中的常用方法:
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>
count:计算list中的元素出现的次数
index:返回某元素的第一次出现的位置
reverse:把list转置,最后一个拍到第一。。。
sort:对list的成员进行排序,默认是从小到大。
1.1.8 元组tuple
元组和list的比较:
最大的区别是元组不可改变,list可以随意改变元素,添加,删除等。
元组的标志是“,”,list的标志是[]
>>> tuple1 = (1,2,3,4,5)
>>> tuple1
(1, 2, 3, 4, 5)
>>> tuple1[2]
3
>>> tuple1[2:]
(3, 4, 5)
>>> temp = (1)
>>> type(temp)
<class 'int'>
>>> temp2 = 2,3,4
>>> type(temp2)
<class 'tuple'>
>>> temp3 = (1,)
>>> type(temp3)
<class 'tuple'>
>>> temp4 = ()
>>> type(temp4)
<class 'tuple'>
>>> temp = (1,2,3,4)
>>> temp = temp[:2]+(100,)+temp[2:]
>>> temp
(1, 2, 100, 3, 4)
>>>
1.1.9 序列
列表,元组和字符串都是属于序列。
相关的函数:
list(), tuple(), str(), len(),max(),min(), sum(), sorted(), reversed(), zip()
>>> a = list()
>>> a
[]
>>> b = 'I love wangdi.com'
>>> b = list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'w', 'a', 'n', 'g', 'd', 'i', '.', 'c', 'o', 'm']
>>> c = (1,1,2,3,5,8,13,21,34)
>>> c = list(c)
>>> c
[1, 1, 2, 3, 5, 8, 13, 21, 34]
>>>
>>> a = [1,2,3,4,5,6,7]
>>> b = [5,6,7,8]
>>> list(zip(a,b))
[(1, 5), (2, 6), (3, 7), (4, 8)]
>>>
1.1.10 字典dict
字典是映射类型:标志是大括号{}
>>> dict = {1:'one',2:'two',3:'three'}
>>> type(dict)
<class 'dict'>
>>> dict[1]
'one'
>>> dict2 = dict(wangdi = 'nihao', changsheng = 'haha')
>>> dict2
{'wangdi': 'nihao', 'changsheng': 'haha'}
>>>
1.1.11 集合set
集合的作用是集合中的元素不能改变,而且集合中的元素是不能重复的,会去重。
>>> s1 = {1,2,3,5}
>>> s1
{1, 2, 3, 5}
>>> s2 = set([3,4,5,6])
>>> s2
{3, 4, 5, 6}
>>> type(s2)
<class 'set'>
>>>
1.1.12 函数,对象,模块
函数的创建和调用:关键字是def和:
>>> def MyFirstFunction(): ##没有参数
print("wangdi")
>>> MyFirstFunction()
wangdi
>>> def MySecondFunction(name): ##携带参数
print(name+"i love you")
>>> MySecondFunction("wangdi")
wangdii love you
>>>
>>> def WangdiAdd(num1,num2): ####两个参数的函数
result = num1 + num2
print(result)
>>> WangdiAdd(3,5)
8
>>> def WangdiAdd1(num1,num2): ###函数有返回值
return (num1 + num2)
>>> print(WangdiAdd1(10,4))
14
>>> def test(*params): ####不定参数
print("参数的长度是:", len(params))
print("第二个参数是:",params[1])
>>> test(1,"wangdi",3,4,5)
参数的长度是: 5
第二个参数是: wangdi
>>>
1.1.13 filter函数和map函数
filter函数:返回列表中通过函数计算之后是“真”的那些项。
map函数:返回列表通过函数作用之后的每个值。
>>> list(filter(None,[1,0,False,True]))
[1, True]
>>> def odd(x):
return x % 2
>>> list(filter(odd,range(0,10)))
[1, 3, 5, 7, 9]
>>>
>>> def add2(x):
return x * 2
>>> list(map(add2,range(0,5)))
[0, 2, 4, 6, 8]
>>>
1.1.14 模块的用法
模块的调用:
import xxx
from xxx import fun1
import xxx as x
If __name == ‘__main__’:主程序运行是__main__的值
Import的所有路径是:
>>> import sys
>>> sys.path
['', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\idlelib', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\w00250712\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
>>>
导入包:package
创建一个文件夹,包的名字就是文件夹的文件;在文件夹中创建一个__init__.py的文件,内容可以为空;把模块文件放入文件夹中
import pkgname.xxx