下述大部分来源B站木子python,以及自己学到现在加了一些python的小知识点,可以当做学习和查阅的资料(Ctrl+F搜索)花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)_哔哩哔哩_bilibili


目录

1、print函数

python语句中的 end=' ' 的作用

2、快捷输出ctrl+shift+F10

3、open函数结合print进行打开文件

4、转义字符、原字符

5、换行输出

6、整数类型不同进制的表示

7、浮点类型和decimal

8、字符串类型和多行字符串

9、类型转换

10、注释

11、算术运算符

12、位运算符

13、对象的布尔值

14、if else判断语句和条件表达式(简写if else语句块)

15、python里的缩进

16、嵌套if

17、pass语句

18、range语句

19、while循环结构

20、for-in循环结构(结合range函数)

21、break和continue语句

22、else语句

23、列表(list)

23.1列表的查询和切片操作

23.2列表元素的添加、删除、修改、排序操作

23.3列表生成的方法(公式)

24、字典(dict)

24.1 字典的创建

24.2 字典元素的获取dict.get()​编辑

24.3 字典元素的增、删、改

24.4 获取字典视图

24.5 字典元素的遍历

24.6 字典的生成方法

25、元组(tuple)

25.1 元组的创建生成

25.2 为什么元组是不可变序列

26、可变数据类型和不可变数据类型

27、集合(set)

27.1 集合的创建方式

27.2 集合的相关操作

27.3 集合之间的关系

27.4 集合生成式

28、列表、字典、元组、集合区别和联系总结

28.1 list和tuple的区别和优缺点:

29.1 字符串的查询、大小写转换、对齐、替换、合并

29.2 字符串的劈分

29.3 判断字符串操作和字符串的比较

29.4 字符串的切片

29.5 字符串的格式化(重要☆)

29.6 字符串知识点总结

30、函数的创建与调用

​编辑 30.1 函数的参数传递、个数可变的位置参数

30.2 函数的返回值

30.3 函数调用和定义加不加*的总结

31、变量的作用域

32、递归函数

33、Python的异常处理机制(跳过bug的方法)

34、类的定义和创建

34.1 类和对象知识点汇总

35、封装

36、继承

37、重写方法

38、object类

39、多态

40、特殊属性和特殊方法

41、__new__和__init__

42、类的赋值与深、浅拷贝

43、模块(Modules)

44、以主程序方法运行 (if __name__ =='__main__')

45、import和from导入

46、包(package)

47、编码

48、文件打开模式

49、文件对象的常用操作

50、with语句

51、os语句相关目录操作

52、try——except语句、raise语句(同异常处理机制)

53、continue和pass的区别

54、def __repr__和def __str__

55、def __getitem__

56、zip()函数

57、函数(function)和方法(method)的区别

58、二维列表(list)初始化创建的一些坑

59、函数参数前加星号*

60、Python里将字符转换成ASCII 数值的函数ord()

61、lambda函数

62、Python内置的数据结构


1、print函数

基本格式

print(520)  #直接输出数字
print('helloworld')  #输出引号里的内容 可以是双引号
print(helloworld) #报错!因为不能直接输出字母
print(3+1)  #输出表达式(含有操作符和运算数)
print('hello','world')  #一行输出多内容的时候用逗号隔开

逗号后面最好加空格

python语句中的 end=' ' 的作用

为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束。

print默认是打印一行,结尾加换行。end=' '意思是末尾不换行,加空格

2、快捷输出ctrl+shift+F10

3、open函数结合print进行打开文件

fp=open('D:/text_pycharm_open','a+')
print('helloworld',file=fp)
fp.close()

4、转义字符、原字符

原字符: 

注意:任何一句话最后一个字符不能是一个反斜杠\

可以是俩个反斜杠\\

5、换行输出

点击这个Soft Wrap

6、整数类型不同进制的表示

print('二进制',0b010101111) #输出175 注意是0b不是ob

7、浮点类型和decimal

 注意大写的D!

8、字符串类型和多行字符串

三引号:'''(三个单引号)和“””(三个双引号)可以用来把字符串多行输出

 9、类型转换

注意 整形int和bool类型的转换成浮点型float的时候会加个“.0"

浮点转化成整形是“抹零取值”

10、注释

11、算术运算符

//代表整除

%代表取余数

幂是俩个乘法运算符**

其中取余数%和整除//有一些特殊情况

整除一正一负向下取整数 取更小的

但是取余操作的公式为被除数-除数*商 这里的商向下取整

记住取余的结果介于除数和0之间、

赋值运算中支持

交换变量不需要中间变量(C++震怒!)

12、位运算符

13、对象的布尔值

bool值

14、if else判断语句和条件表达式(简写if else语句块)

if的基本语法格式看下面:第一行是条件语句(注意:变量也可以当做判断语句 因为可以看作bool变量),如果满足条件就会执行第二行,没有括号或者结束语句,比如endif,没有。 if和后面的判断语句中间要加空格

  1. 假如第二行没有缩进,就会产生错误。

  2. 新手容易犯一个错误就是条件语句后面不写冒号,出现这样的错误:

  3. 我们假如有多个条件,我们可以使用else,当条件不满足的时候执行它下面的语句块。当然else是顶个写,并且后面记得写冒号。

  4. 如果还有更多的条件,我们可以使用elif,同样不要忘记冒号和缩进和空格

python里的else if缩写为elif

比如

score=int(input('请输入一个成绩:'))if score>=90 & score<=100:print(score,'是A等级')
elif score>=80 and score<90:print(score,'是B等级')
elif score>=60 and score<80:print(score,'是C等级')
elif score>=0 and score<60:print(score,'是F等级')
else:print('输入有错')

注意 python里用and

python里的and和&的关系和区别

Python中&和and的区别_l2014204559的博客-CSDN博客_&和and python

条件表达式

15、python里的缩进

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

16、嵌套if

17、pass语句

有时候我们需要先不写内容,先写框架,我们可以用pass语句来跳过内容填写,防止报错。

不写pass会报错

18、range语句

         左开右闭的区间

range只能遍历整数,拒绝小数!

19、while循环结构

注意判断N+1次 因为最后一次也判断了(判断为false 终止)

20、for-in循环结构(结合range函数)

for 循环可以不用变量,用下划线_代替变量来用作循环次数

for是自带遍历的,所以不需要+=1这种操作

倒序排序怎么实现?:

比如倒序输出1-10: 10 9  8 7 6 5 4 3 2 1

for i in range(10, 0, -1):print(i)
#步长,即第三个参数,step=-1表示倒序

注意,这里右区间是0,因为左开右闭,虽然-1倒序相当于左右区间改了,但是还是会把第二个参数当做开区间,因此很多地方会出现for _ in range(n,-1,-1)。很多人会觉得俩个-1是啥意思。

其实第三个参数-1能理解,表示倒序,第二个参数-1是因为想遍历到0,但是因为开区间,必须取-1.

21、break和continue语句

break是跳出当前循环结构

continue是结束当前循环,进入下一次循环。

break和continue都只用于本层循环的操作

22、else语句

else主要和for、while、语句进行搭配使用

①else和if搭配:比较好理解 if不成立 那就else的情况

②else和for、while搭配的时候,如果for下面一路没有碰到break 那就会按照顺序结构执行else

23、列表(list)

列表类似C语言里的数组

list1=['hello', 'world', 'False', '86.2']  #第一种方式用方括号直接list2=list(['hello', 'world', 'False', '86.2'])  #使用内置函数list

python的索引有从第一个元素从0增加到N,也有从最后一个元素从-1减少到-M。

所以如果是-1,那就是最后一个,-2是倒数第二个

列表是可变数据类型

23.1列表的查询和切片操作

列表的查询用index函数操作,具体可百度

23.2列表元素的添加、删除、修改、排序操作

这里特别对append()extend()做一个解析:

# list.append()会把要添加的数据当做一个整体添加在list的末尾.而list.expand()会把要添加的数据迭代依次添加到list的末尾,只允许添加可迭代对象数据(可迭代对象: 能用for循环进行迭代的对象就是可迭代对象, 比如:字符串,列表,元祖,字典,集合等等 )
# 比如:
list1 = ['1','2','3']
list2 = ['4','5','6']
list1.append(list2) # list1 = ['1','2','3',['4','5','6']]
list1.expand(list2) # list1 = ['1','2','3','4','5','6']
# 注意:如果expand的是一个dict类型的,只会添加这个dict的key,而不会添加对应的value

切片是一个很神奇的操作!

 

 sort改变原列表

sorted不改变原列表

23.3列表生成的方法(公式)

 


lst=[i for i in range(1,10)]   #第一个i表示生成i 后面的for代表循环语句 用中括号括起
print(lst)  #结果为[1, 2, 3, 4, 5, 6, 7, 8, 9]lst=[i*i for i in range(1,10)]   #第一个i*i表示生成i*i这个结果 后面的for代表循环语句 用中括号括起
print(lst)  #结果为[1, 4, 9, 16, 25, 36, 49, 64, 81]

24、字典(dict)

字典类似C语言里的map容器

注意!:字典目前变成有序了,在python3.6之后

key必须是不可变对象,不可以是列表(列表是可变对象)

但是字典本身是可变数据类型

24.1 字典的创建

24.2 字典元素的获取dict.get()

对于普通的dict.get(),如果里面有两个参数,怎么理解?

第一个参数是要获取的值对应的key,逗号后面的第二个参数实际上是默认值

# result是一个大dict
results.get('img_fields', ['img']):
# 'img'
# []代表一个list

输出的是“值“”,根据“键”查找取值

24.3 字典元素的增、删、改

24.4 获取字典视图

24.5 字典元素的遍历

24.6 字典的生成方法

操作总结

25、元组(tuple)

列表是中括号 

元组是小括号(带上逗号)

字典是花括号

25.1 元组的创建生成

元组的关键其实是逗号 可以不要小括号 但是必须要有逗号(空元组不需要逗号)

25.2 为什么元组是不可变序列

比如一个元组的一个元素是一个列表,那么这个列表元素指向的是列表的地址,地址不可变,存在该地址里面的内容(列表的内容)是可变的

26、可变数据类型和不可变数据类型

python中不可变数据类型和可变数据类型 - 自由早晚乱余生 - 博客园

27、集合(set)

字典里键不能重复,集合里的值不能重复

27.1 集合的创建方式

集合直接创建用花括号,跟列表不同,列表用中括号直接创建。

  • 集合元素不可重复,列表元素可以重复
  • 列表是有序的,集合是无序

集合里的元素不可以是列表,因为集合是无序的,里面的元素必须是不可变类型(集合本身是可变类型)

27.2 集合的相关操作

因为集合是无序的所以添加不能指定位置!

27.3 集合之间的关系

27.4 集合生成式

28、列表、字典、元组、集合区别和联系总结 

28.1 list和tuple的区别和优缺点:

list 是可变的对象,元组 tuple 是不可变的对象! tuple 放弃了对元素的增删(内存结构设计上变的更精简),换取的是性能上的提升:创建 tuple 比 list 要快,存储空间比 list 占用更小。

因此在深度学习领域,很多返回值会把list转换成tuple

字符串也是不可变  跟元组一样。

驻留:重复的字符串不会创建新空间,只会拷贝原本的

29.1 字符串的查询、大小写转换、对齐、替换、合并

哪怕原本全是小写 用lower转换后 地址也会改变。

比如说右对齐,指定宽度为3,用字符'0'去对齐:

str.rjust(3,'0')

29.2 字符串的劈分

劈分就是把东西分开

29.3 判断字符串操作和字符串的比较

==和is的区别: 

29.4 字符串的切片

29.5 字符串的格式化(重要☆)

 三种方法格式化

name = '张三'
age = 20
print('我叫%s,今年%d岁' % (name, age))  #根据%类型  后面加%print('我叫{0},今年{1}岁'.format(name, age))   #以{n}来,后面加.print(f'我叫{name},今年{age}岁')    #以{变量名}  前面加f

29.6 字符串知识点总结

30、函数的创建与调用

参数传递法:位置实参和关键字实参

 30.1 函数的参数传递、个数可变的位置参数

在python的函数参数传递中,如果是不可变类型比如一个整形数据,那么传递类似C++的值传递,不会改变实参;如果是可变类型比如一个列表,那么传递类型类似C++的引用传递,会把实参也改变自动返回。

如果一个函数定义的时候,既有个数可变的位置形参,也有个数可变的关键词形参时:

30.2 函数的返回值

30.3 函数调用和定义加不加*的总结

31、变量的作用域

32、递归函数

33、Python的异常处理机制(跳过bug的方法)

 

34、类的定义和创建

class Xxxx:  注意这里的X首字母要大写,这是一种规范

在类外定义的称为函数,在类内定义的称为方法

self相当于c++里的this

一般来说,使用某个类的方法,需要先将类实例化,赋予一个对象才可以调用类中的方法,但是如果使用了@staticmethod 或@classmethod,就可以不用实例化,直接类名.方法名()来调用。

如果用了staticmethod就无视这个self了,就将这个方法当成一个普通的函数使用了。

cls和self的用处一样,都是表示类本身。只不过一个是用在类方法里,一个是用在实例方法里。

我还发现一个问题就是,我们一般的的类(_ _init_ _)都是self必写。而_ _new_ _写的是cls,他们有什么不同。

查了一波资料,cla主要用于类定义方法,而self则是实例方法。

个人理解,当运行到这个方法的时候,类如果还没实例化,就是cls,否则是self。

静态方法是没有参数的 但是类方法有参数

34.1 类和对象知识点汇总

35、封装

加_ _有点类似私有属性private 但是也可以在类外通过_类名_ _来访问

36、继承

 super()是调用父类的函数

调用父类的构造函数用super()._ _init_ _

37、重写方法

38、object类

39、多态

虽然python里没有数据类型。但是也具备多态的特征。

40、特殊属性和特殊方法

两个下划线开头和结尾的称为特殊属性和方法,比如_ _init_ _

41、__new__和__init__

class Person(object):def __new__(cls, *args, **kwargs):print('__new__被调用执行,cls的值为{0}'.format(id(cls)))obj=super().__new__(cls)print('obj的super().__new__被执行,创建的对象的id为{0}'.format(id(obj)))return objdef __init__(self,name,age):print('__init__被调用了,self的id值为{0}'.format(id(self)))self.name=nameself.age=age
print('object这个类对象的id为{0}'.format(id(object)))
print('person这个类对象的id为{0}'.format(id(Person)))#创建Person类的实例对象p1=Person('张三',20)
print('p1这个实例对象的id为{0}'.format(id(p1)))

结果为:

object这个类对象的id为140714352037376
person这个类对象的id为1939635729648
__new__被调用执行,cls的值为1939635729648
obj的super().__new__被执行,创建的对象的id为1939641818896
__init__被调用了,self的id值为1939641818896
p1这个实例对象的id为1939641818896

我们可以看到new产生的obj和p1和__init__的地址都一样。总结:

每创建一个新的类对象,都默认调用一次new,每创建一个新实例对象都会默认调用一次init

new是祖宗,init身体内的基因都是他的。先执行__new__再执行__init__,最后把对象赋给p1

super().__new__是Person这个子类里调用了父类Object的__new__函数

42、类的赋值与深、浅拷贝

浅拷贝的时候,拷贝对象包含的子对象还是老样子,不会把子对象也克隆新的一份,只创造拷贝对象的新克隆产生物

深拷贝的时候,拷贝对象里包含的子对象也会创造一份新的子对象

43、模块(Modules)

 变量<方法<类/函数<模块<包

导入自定义模块方法:

44、以主程序方法运行 (if __name__ =='__main__')

为了让导入的模块在导入时有些部分不执行,那些部分只在那个模块单独跑的时候才运行。我们可以设置如下所示(calc2是这个模块的名字,运行模块的时候执行这个print,导入到别的地方不运行)

45、import和from导入

在使用import导入的时候,只能导入包名和模块名。

在使用from…import导入的时候,可以导入包、模块、函数、变量名。

46、包(package)

包是new package产生的东西,可以理解成一个文件夹,里面放着一堆.py文件

包的特征就是自带一个.py文件叫__init__.py

47、编码

48、文件打开模式

49、文件对象的常用操作

关于flush和write:向文件中写入数据的时候,python并不会立刻写入,而是会写到缓冲区,等待清空的时候写入文件。用flush可以不用等close

50、with语句

简单而言,对文件操作,with语句可以实现自动调用enter和exit语句。防止你忘记写。

with  X as Y:

Y.函数()

那么当这两句话执行的时候,会自动调用__enter__()和__exit__()

51、os语句相关目录操作

用法:比如以下语句可以实现查找当前路径

import os

print(os.getcwd())

 os.path模块也有相关操作

52、try——except语句、raise语句(同异常处理机制)

我们把可能发生错误的语句放在try模块里,用except来处理异常。每一个try,都必须至少有一个except。一个try可以对应好几个except,而且每个except可以同时处理多种异常。

try except 语句的执行流程如下:

  1. 首先执行 try 中的代码块,如果执行过程中出现异常,系统会自动生成一个异常类型,并将该异常提交给 Python 解释器,此过程称为捕获异常。
  2. 当 Python 解释器收到异常对象时,会寻找能处理该异常对象的 except 块,如果找到合适的 except 块,则把该异常对象交给该 except 块处理,这个过程被称为处理异常。如果 Python 解释器找不到处理异常的 except 块,则程序运行终止,Python 解释器也将退出。

事实上,不管程序代码块是否处于 try 块中,甚至包括 except 块中的代码,只要执行该代码块时出现了异常,系统都会自动生成对应类型的异常。但是,如果此段程序没有用 try 包裹,又或者没有为该异常配置处理它的 except 块,则 Python 解释器将无法处理,程序就会停止运行;反之,如果程序发生的异常经 try 捕获并由 except 处理完成,则程序可以继续执行

格式为:

try:
    可能产生异常的代码块
except [ (Error1, Error2, ... ) [as e] ]:
    处理异常的代码块1
except [ (Error3, Error4, ... ) [as e] ]:
    处理异常的代码块2
except  [Exception]:
    处理其它异常

首先,这里的Error1,Error2等都是异常类型,比如ValueError

其次,[as e]:作为可选参数,表示给异常类型起一个别名 e,这样做的好处是方便在 except 块中调用异常类型(后续会用到)

补充:

使用raise抛出异常

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

53、continue和pass的区别

continue表示跳过后面的程序,重新循环,而pass表示站位,后面的代码(else之前)还是会执行。

54、def __repr__和def __str__

通常情况下,打印一个类或者类的对象,会显示

xx.xx object at 0xaaaaabbbbbbb

这是告诉你这个对象或者类储存在某个内存中。

要实现相关的打印功能,就需要定义__repr__或者__str__

比如:

class Test:def __init__(self, a, b):self.a = aself.b = bdef __repr__(self):return"<Test a:%s b:%s>" % (self.a, self.b)def __str__(self):return"From str method of Test: a is %s, b is %s" % (self.a, self.b)

>>> t = Test(123, 456)
>>> t
<Test a:123 b:456>
>>> print repr(t)
<Test a:123 b:456>
>>> print t
From str method of Test: a is 123, b is 456
>>> print str(t)
From str method of Test: a is 123, b is 456

注意:命令行下直接输出对象调用的是对象的repr方法,而print输出调用的是str方法

55、def __getitem__

加上__getitem__方法后,相当于将类变成了一个iterable类,即类似于数组,可以取其中某一项可以用循环迭代的类,具体如何取,则是调用__getitem__方法来判断
比如:

class temp:def __init__(self, i):self.id = np.arange(i)def __getitem__(self, index):i = self.id[index]return idef greeting(self):print("Hello", self.id)

>>>t=temp(9)

>>>t   #输出为:<__main\__.temp at 0x1938accef70>

#表示t这个object的地址

>>>for i in t:

>>>         print(i)

>>>0 1 2 3 4 5 6 7 8  #这里就调用了__getitem__函数

注意:__getitem__必须要有return,如果没有写return,也可以迭代但是会默认返回None。

56、zip()函数

zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。

例如:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9, 10, 11]ab = zip(a, b)
print(list(ab))     # [(1, 4), (2, 5), (3, 6)]
# zip()之后的结果只能“使用一次”
# zip()实际上是一个生成器对象,故使用list()获取zip()结果时,已经相当于是完成一次迭代遍历
# 第二次再次使用list()时迭代已经结束,所以返回[]
print(list(ab))     # []ac = zip(a, c)
# print(list(ac))     # [(1, 4), (2, 5), (3, 6)],以短的为准list_1 = [1, 2, 3, 4]
list_2 = ['a', 'b', 'c']for x, y in zip(list_1, list_2):print(x, y)
#结果 1 a2 b3 c

57、函数(function)和方法(method)的区别

首先上结论。函数可能是类外定义的,即跟某个class完全无关的一个独立的函数;而方法是必须被类拥有的东西,必须在类内定义。

从分类角度来看

(1)函数的分类:

内置函数:python内嵌的一些函数。
匿名函数:一行代码实现一个函数功能。
递归函数
自定义函数:根据自己的需求,来进行定义函数。
(2)方法的分类:

普通方法:直接用self调用的方法。
私有方法:__函数名,只能在类中被调用的方法。
属性方法:@property,将方法伪装成为属性,让代码看起来更合理。
特殊方法(双下划线方法):以__init__为例,是用来封装实例化对象的属性,只要是实例化对象就一定会执行__init方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object(python 3.x)类,执行类中的__init__方法。
类方法:通过类名的调用去操作公共模板中的属性和方法。
静态方法:不用传入类空间、对象的方法, 作用是保证代码的一致性,规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中。

从调用角度来看

1 function是直接通过名字来调用的,它只能被传递参数来处理或者使用全局变量。

2 method 是通过与一个对象相关联的名字来调用的,它既可以被传递参数,也可以使用对象内部的数据。method 隐式的被传递了调用它的对象。(对象是实例化的类没,有特有的名字)

(1)函数:通过“函数名()”的方式进行调用。

(2)方法:通过“对象.方法名”的方式进行调用。

58、二维列表(list)初始化创建的一些坑

一般,要初始化一个固定长度的一维list,一般用这种方法

n = 3 # 定义一个长度为3的一维列表
list1 = [0] * n

同理,二维列表第一个想到的是

list 2 = [[0] * 3 ] * 3
#得到一个二维列表[[0,0,0],[0,0,0],[0,0,0]]

但是这样有个问题,因为这种方法的底层逻辑是把[0]*3 这个列表复制了3遍。如果我想改变list2的其中一个数,会导致其他被复制的也同样被改变,即

list2[0][0] = 1
print(list2)
# [[1,0,0],[1,0,0],[1,0,0]]

因此推荐用下面的方法初始化一个二维列表(矩阵)

list2 = [[0] * 5 for _ in range(5)]

59、函数参数前加星号*

在python的函数参数列表里经常会看到很多参数前面带了星号 比如

def test1(param1, *param2):
def test2(**param2):

不管是单星号*,但是双星号**,其目的都是为了处理多个参数传入的情况

比如原本test1函数只要求俩个参数param1,param2,但是如果传入了3个参数,比如

test1(1,2,3),那明显就会报错。但是如果加了单星号,函数就会把后面俩个参数2和3打包成一个tuple元组的形式作为param2传入test;如果加了2个星号,就会打包成dict字典的形式传入。

总结: 

双星号(**):**kwargs 将参数以字典的形式导入

单星号(*):*agrs 将参数以元组(tuple)的形式导入

(这两个单词是约定的变量名字,args 是 arguments(参数) 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数,没啥特别规矩)

60、Python里将字符转换成ASCII 数值的函数ord()

ord()函数在python里就是将字符转化成ASCII 数值。ord()函数是Python中的一个库函数,它用于从给定的字符值中获取数字值,它接受一个字符并返回一个整数,即用于将字符转换为整数,即用于获取a的ASCII值。给定的字符。其中给定字符要加引号,比如ord("a"),不然视为变量a

61、lambda函数

lambda函数也叫匿名函数,即,函数没有具体的名称。

比如:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

>>> print filter(lambda x: x % 3 == 0, foo)

[18, 9, 24, 12, 27]

>>> print map(lambda x: x * 2 + 10, foo)

[14, 46, 28, 54, 44, 58, 26, 34, 64]

>>> print reduce(lambda x, y: x + y, foo)

139

62、Python内置的数据结构

Python中内置的数据结构有六种:(出去数值和字符串一般也说4种:list,tuple,set,dict)

  • Number (数值)
  • String (字符串)
  • list (列表)
  • Tuple(元组)
  • Dictionary (字典)
  • Set (集合)

除此以外,数组、矩阵等结构需要导入相关工具包后才可以实现。

比如deque的实现要

from collections import deque

Python语法笔记相关推荐

  1. python语法笔记(四)

    1.对象的属性      python一切皆对象,每个对象都可能有多个属性.python的属性有一套统一的管理方案.  属性的__dict__系统      对象的属性可能来自于其类定义,叫做类属性: ...

  2. python语法笔记(一)

    1. python中多个函数或者类定义可以放在一个.py 文件中,视为一个模块.模块的.py文件中,一般要写 if __name__ == '__mian__' 用来单独执行该模块内的某些函数. 2. ...

  3. python语法笔记(六)

    1.序列的方法      python中序列包含列表list.元组tuple.字符串str.  可以用于序列(表.元组.字符串)的内建函数: len(s) 返回: 序列中包含元素的个数min(s) 返 ...

  4. python语法笔记(五)

    1.python内存管理  (1)对象内存使用  &nsbp;&nsbp;&nsbp;&nsbp;在python中通过执行内建函数 id(obj) 可以获得对象obj在 ...

  5. python3语法基础知识_Python语法笔记 - 基础知识

    本文为博主原创文章,请遵守文章最后的版权申明. 有很多程序员在学习一门技术之前,都会有一番思想斗争.究竟要不要花时间去学?学了有什么意义?我大Java包办一切,何必要去学那些"旁门左道&qu ...

  6. 人工智能实践:TensorFlow笔记学习(二)—— Python语法串讲

    Python语法串讲  大纲 2.1 Linux指令.HelloWorld 2.2 列表.元组.字典 2.3 条件语句 2.4 循环语句 2.5 turtle模块 2.6 函数.模块.包 2.7 类. ...

  7. python基本语法语句-python学习笔记:基本语法

    原标题:python学习笔记:基本语法 缩进:必须使用4个空格来表示每级缩进,支持Tab字符 if语句,经常与else, elif(相当于else if) 配合使用. for语句,迭代器,依次处理迭代 ...

  8. Python爬虫:Xpath语法笔记

    Python爬虫:Xpath语法笔记 一.选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath('//div') 选取了div节点的 ...

  9. python基础论文_北大博士Python学习笔记,Python基础语法总结,一篇文章带你入门...

    image.png 网上现在Python学习资料有很多,但是很杂.很多初学Python的朋友就不知道该怎么去抉择,那些是自己当下所需要的. 刚好朋友是北大的博士,在IT行业也工作八年了.就把他学习Py ...

最新文章

  1. 每日一皮:完美解释 UDP 为什么会丢包...
  2. c语言链表把多少分以上打出来,大神帮我看一下怎么输入输出一个链表,我输入了但是没输出啊...
  3. Linux之Debian下安装LAMP apt-get安装方式
  4. 【OpenGL】详解第一个OpenGL程序
  5. hive的SerDe序列化
  6. [转]Aptana Studio 3配置Python开发环境图文教程
  7. iOS URL Schemes与漏洞的碰撞组合
  8. sql 判断连续数字
  9. Ubuntu Apache 不同端口监听不同站点
  10. VS2010提示asp.net v4.0 尚未在web服务器上注册
  11. 黑马python培训费用
  12. 图像增强-对数Log变换
  13. Arduino Nano技术指标
  14. vlan绑定_华为S5700交换机设置IP-MAC绑定功能
  15. 基于Python实现图片格式转换的小程序
  16. sm4加密算法C/C++源码
  17. hibernate中 one to many和many to one的非主键关联
  18. 常用页面代码html
  19. 2018(第九届)民用飞机工业国际论坛
  20. text函数提取年月

热门文章

  1. 小型web服务器的编写
  2. 微机原理跟计算机三级哪个科目相关,2015全国计算机三级考试各科目了解
  3. 应用宝apk_【小镇狼人杀】新角色猜测(末尾附上应用宝下载渠道)
  4. vMix对C盘路径下video.txt文件访问被拒绝怎么办
  5. java 12 、13、14、15新特性汇总
  6. Wps Excel 如何时间格式化
  7. 土壤水分检测仪的工作原理?
  8. Android RecyclerView禁止滑动
  9. 带负荷测试要求二次最小电流_继电保护二次核相、带负荷试验方法
  10. 91.(cesium之家)cesium火箭发射模拟