python基本语法学习记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基本语法学习记录相关的知识,希望对你有一定的参考价值。

1     默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。

2     Python中单行注释以#开头,多行注释用三个单引号(‘‘‘)或者三个双引号(""")将注释括起来。

3     python最具特色的就是使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数

4     自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \\n" 则\\n会显示,并不是换行。

5     python允许处理unicode字符串,加前缀u或U

6     复合赋值:右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

7     Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

8     变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

赋值、浅拷贝、深拷贝的区别:

参考https://www.cnblogs.com/wilber2013/p/4645353.html

浅拷贝效果:切片操作、工厂函数、copy.copy

深拷贝效果:copy.deepcopy

9     除法//:得到一个整数;乘方**

10  反斜杠可以作为续行符,表示下一行是上一行的延续。还可以使用"""..."""或者‘‘‘...‘‘‘跨越多行。

11  Python中的字符串有两种索引方式,第一种是从左往右,从0开始依次增加;第二种是从右往左,从-1开始依次减少。对字符串进行切片,获取一段子串。用冒号分隔两个索引,形式为变量[头下标:尾下   标]。

12  Python字符串不能被改变。对于不可变对象,其所谓的replace等操作实际上是返回了一个新的数据,在内存中开辟了新的位置。

13  列表是写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同。列表中的元素是可以改变的

14  元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号

里,元素之间用逗号隔开。

15 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

16 集合(set)是一个无序不重复元素的集。可以使用大括号 或者 set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典。

17 字典是一种映射类型(mapping type),它是一个无序的键 : 值对集合。

关键字必须使用不可变类型,也就是说list和包含可变类型的tuple不能做关键字。

在同一个字典中,关键字还必须互不相同。

18  Python3列表

       写在方括号内,用逗号隔开。不必是相同的类型。支持嵌套

       可以被索引和切片。切片返回的是一个拷贝。

       支持+拼接操作;赋值[ ]即清空

       .append()在末尾添加新项;修改指定区间值

       使用len()统计长度

       使用序列表达式 for  in 创建列表

       在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到

19  Python3 元组

       写在小括号内,元素不能修改

       元组只含一个元素,需要添加逗号(50,)

       元组同样可以进行连接和复制;使用del 删除整个元组;

       Tuple() 将列表转换为元组

20 Python3 字典

       写在花括号内,可存储任意类型对象

        d = {key1 : value1, key2 : value2 }

       键值不可修改,可以用数字、字符串或元组充当,而列表不行;通过键值访问Value

       构造函数 dict() 直接从键值对元组列表中构建字典

       在字典中遍历时,关键字和对应的值可以使用 items() 方法同时解读出来

21 条件控制

       If condition : 条件判断后需要加冒号

       使用相同缩进区分代码块

       没有switch-case语句

22 循环

       While循环:冒号 缩进

       For循环:

       for <variable> in <sequence>:

            <statements>

  else:

             <statements>

       Range(a,b,c) 产生a到b-1的数,以c为步长。默认a=0,c=1

       循环中的else语句:循环终止时被执行,但被break终止时不执行

       Pass语句

23 迭代器

        iter() next()

       迭代器只能往前不会后退。可以用于循环

    生成器

       生成器是一个使用了yield,返回迭代器的函数。

       在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。

24 函数

       定义函数使用def关键字

       def 函数名(参数列表):

              函数体

       变量的作用域

  默认参数:必须指向不变对象

       在参数前加一个*号,将参数变为可变参数。这实际上是一个tuple。传入参数的时候可以传入任意个参数。

  函数也可以使用kwarg=value的关键字参数形式被调用 在参数前加**号。这些关键字参数在函数内部自动组装为一个dict。使用特殊分隔符*,后面的参数成为命名关键字参数。命名关键字参数必须传入参数名。

       函数可以返回多个值(return x,y)实际上返回的是一个tuple

       函数名也是变量。一个函数可以接收另一个函数作为参数为高阶函数。

25 格式化输入输出

       Python使用print进行输出。使用逗号分割多个字符串,逗号输出为空格。

str(输出转化为字符串)repr().rjust\\ljust\\center()将字符串靠右、靠左、中间并填充空格。

       使用str.format( )的参数替换字符串中括号及其里面的字符。

       使用input()读取输入。注意返回的数据类型是str。使用数据转换函数将其转换为需要的类型。

26 文件读写

27 装饰器

       接受一个函数作为参数,并返回一个函数。

       使用@语法,可以将装饰器置于函数定义处

       把@log放到now()函数的定义处,相当于执行了语句now = log(now)

28 偏函数

       当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

以上是关于python基本语法学习记录的主要内容,如果未能解决你的问题,请参考以下文章

Python学习记录-2016-12-13

python爬虫学习记录基本库的使用——正则表达式

Python语法学习记录:argparse的用法

04-2python语法入门之基本数据类型

04-2 python语法入门之基本数据类型

Python学习 第4天 基本语法-变量数据类型