Python命名规范
名称 |
说明 |
模块名 |
小写字母,单词之间用_分割 如:module_name |
包名 |
小写字母,单词之间用_分割 如:package_name |
类名 |
单词首字母大写 如:python class LogRecord(object): |
普通变量 |
小写字母,单词之间用_分割 如:exc_info |
实例变量 |
以_开头,小写字母,单词之间用\_分割 如:_exc_info,不能访问的类属性,但可通过类提供的接口进行访问, 不会被语句 “from module import *” 语句加载 |
私有实例变量 |
以\_\_开头(2个下划线),小写字母,单词之间用\_分割 如:__private_var ,外部访问会报错 |
专有变量 |
开头,结尾,一般为python的自有变量,不要以这种方式命名 如:doc ,是系统定义的,具有特殊意义的标识符 |
普通函数 |
小写字母,单词之间用_分割: 如:get_name() |
私有函数 |
以\_\_开头(2个下划线),小写字母,单词之间用分割 如:__get_name() ,外部访问会报错 |
函数规则
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 |
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 |
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 |
函数内容以冒号起始,并且缩进。 |
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 |
函数语法
def 函数名(参数列表): 函数体 return |
函数示例
def printinfo( name, age ):
print ("名字: ", name)
print ("年龄: ", age)
return
printinfo( age=15, name="xiaoming" )
示例运行结果
可变参数和不可变参数
strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象
传不可变参数示例
def ChangeInt( a ):
a = 10
b = 6
ChangeInt(b)
print( b )
示例输出结果为6
传可变参数示例
def changeme( mylist ):
mylist.append([2,3,4])
print ("函数内取值: ", mylist)
return
mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)
示例输出结果
关键字参数
Python 解释器能够用参数名匹配参数值,所以允许函数调用时参数的顺序与声明时不一致。
关键字参数示例
def printinfo( name, age ):
print ("名字: ", name)
print ("年龄: ", age)
return
printinfo( age=15, name="xiaoming" )
示例运行结果
默认参数
在函数定义时设置参数的默认值,调用函数时,如果没有传递参数,则会使用默认参数。
默认参数示例
def printinfo( name, age = 18 ):
print ("名字: ", name)
print ("年龄: ", age)
return
printinfo(name="xiaoming" )
示例运行结果
不定长参数
含不定长参数的函数语法
def functionname([formal_args,] *var_args_tuple ): function_suite return [expression] |
不定长参数示例
def printinfo( arg1, *vartuple ):
print (arg1)
print (vartuple)
printinfo( 70, 60, 50 )
示例运行结果
第二种不定长参数语法,两个星号 ** 的参数会以字典的形式导入
def functionname([formal_args,] **var_args_dict ): function_suite return [expression] |
第二种不定长参数示例
def printinfo( arg1, **vardict ):
print (arg1)
print (vardict)
printinfo(10, a=20,b=30)
示例运行结果
匿名函数
python 使用 lambda 来创建匿名函数,只包含一个语句
lambda [arg1 [,arg2,.....argn]]:expression |
匿名函数示例
multi = lambda arg1, arg2: arg1 * arg2
print ("相乘后的值为 : ", multi( 10, 20 ))
示例运行结果
return语句
return返回结果示例
def sum( arg1, arg2 ):
return arg1 + arg2
print (sum( 10, 20 ))
示例的打印结果是30
变量作用域
Python的作用域一共有4种,使用变量时,以 L –> E –> G –>B 的规则查找
作用域种类 |
说明 |
L (Local) |
局部作用域 |
E (Enclosing) |
闭包函数外的函数中 |
G (Global) |
全局作用域 |
B (Built-in) |
内建作用域 |
变量作用域代码示例
x = int(9.9) # 内建作用域
g_count = 0 # 全局作用域
def outer():
o_count = 1 # 闭包函数外的函数中
def inner():
i_count = 2 # 局部作用域
global和nonlocal关键字
global用于在局部范围内使用全局变量而声明,示例如下
num = 1
def my_fun():
global num # 需要使用 global 关键字声明
print(num)
num = 1234
print(num)
my_fun()
print(num)
示例输出结果
nonlocal关键字用于在内部嵌套中使用外层作用域(enclosing 作用域,外层非全局作用域)中的变量,示例如下
def outer():
num = 1
def inner():
nonlocal num # nonlocal关键字声明
num = 123
print(num)
inner()
print(num)
outer()
示例输出结果
如果您喜欢该文章,别忘了点赞和评论哦!