Python一些特别的语法

来源:互联网 发布:淘宝在哪里领取优惠卷 编辑:程序博客网 时间:2024/04/30 03:24

1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量;变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。C/C++,Java等是静态语言;

2.Python中,通常用全部大写的变量名表示常量;

3.在Python中,有两种除法,一种除法是//除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数;还有一种除法是//,称为地板除,两个整数的除法仍然是整数。整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数;

4.在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符;

5.由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes

x = b'ABC'

要注意区分'ABC'b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

以Unicode表示的str通过encode()方法可以编码为指定的bytes;

6.由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3# -*- coding: utf-8 -*-

7.Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

Python对bytes类型的数据用带b前缀的单引号或双引号表示:可以用-1做索引,直接获取最后一个元素。以此类推,可以获取倒数第2个、倒数第3个(-2、-3)。(list和c++中的操作有很多地方不同,使用要格外注意);

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改;

8.函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”;

9.在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回;如果想定义一个什么事也不做的空函数,函数体内可以用pass语句;数据类型检查可以用内置函数isinstance()实现;Python的函数返回多值其实就是返回一个tuple;

10.Python的函数参数有一些特别的地方:可以定义可变参数、关键字参数、命名关键字参数等。命名关键字参数需要一个特殊分隔符**后面的参数被视为命名关键字参数,命名关键字参数必须传入参数名,这和位置参数不同,命名关键字参数可以有缺省值,从而简化调用使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个*作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数;

Python中可以使用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

-默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!

-要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

-以及调用函数时如何传入可变参数和关键字参数的语法:

-可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3))

-关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})

-使用*args**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

-命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。

-定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。









原创粉丝点击