几乎在所有编程语言当中变量是最先接触语法概念,那么什么是变量,变量应该怎么定义呢,定义变量又该注意哪些因素呢?这里我们来给大家详细聊聊。
一、变量的定义****
在python中定义变量很简单,只要一个赋值语句就可以了比如:
a = 10
这里就成功定义一个变量了,这里的a是变量名,=号是赋值,10是变量的值。这里要特别注意的是使用=号把10 赋值给a,这个顺序不能错乱。
二、变量的分类****
上面我们定义了一个变量a = 10 这种类型的变量属于整数类型,但是仅仅一个整数类型的变量还无法满足我们的需求。下面就是python的常见变量类型。
| str | 字符串类型变量 | a = ‘字符串’ |
|---|---|---|
| int | 整形变量 | a = 10 |
| float | 浮点型变量 | a = 10.1 |
| bool | 布尔类型变量 | a = True or a = False |
我们在python基础课程中主要接触的变量类型就是上面的四种,后面还会学习到一些复杂的类型,比如字典,列表,集合等都可以归结为变量的一种类型。这里要强调一下,变量只是一种概念,大家不要局限思想,换句话说只要一个值被=号赋值给一个变量名的语句都可以叫做变量,因为python属于弱类型语言,在定义变量的时候不指定类型,不想其他语言,定义一个整形变量需要加一个前缀,比如int a = 10,这样这个变量a就已经被局限于整形,不能使用其他类型值了。这个现在不适合说的太深刻。
三、变量类型判断****
Python虽然是弱类型语言,但是并不是代表没有类型,更不是说类型可以随便定义。Python语言中经常使用一个函数(type())来判断变量的类型,比如上面的a=10这个变量。
返回结果为int。
Python命名规范对于不同类型的数据有着一些细微的区别,总的来讲有2个方面的命名要求,一方面是从命名字符要求方面来规范的,还有一方面是格式方面来规范的,此外还涉及到一些保留关键字我们不能单独出现在命名中。下面来详细聊聊。
一、错误的Python命名规范
1.命名只能使用字母和_下划线开头-字符方面的要求
错误示例
def 5name():
pass
正确示例
`def name():
pass
def _name():
pass
def _name5():
pass`
2.Python命名不能出现空格-格式方面要求
错误示例
`def _na me5():
pass`
二、Python命名不能使用保留关键字
了解这一点我们需要对一些保留关键词进行了解:
- and:并且辨析
- as:重命名
- assert:断言
- break:终止程序
- class:类
- continue:继续
- def:函数
- del:删除
- elif:条件判断
- else:否则
- except:错误排除
- finally:最终执行
- for:循环
- from:从......引入
- False:错误、否、0,与True相反
- global:全局
- if:如果
- import:引入
- in:包含
- is:是
- lambda:抽象函数
- nonlocal:外部嵌套函数内的变量\
- not:非
- None:类似于空
- or:或者关系
- pass:直接跳过
- raise:提升
- return:返回
- try:错误调试
- True:真,与False相反
- while:循环
- with:文件卹
- yield:迭代器
三、Python的规范命名方法
面对上面的各种命名不规范我们如何更好的解决这个问题呢?下面就来给大家介绍几种比较常用的命名方法。这些方法是我个人总结的,不一定适合每个人,但是是我多年开发习惯养成的正确命名规则,希望对大家的学习有些帮助。
1. 普通变量命名
我一般使用一些比较简单的方法:首先字母我喜欢小写和数字来命名变量名,并且遵守见名知意的方法,如下面的几个示例。
`student_age = 18 # 学生年龄
student_name = 'Tom' # 学生姓名`
上面两个一般用于正式开发的时候使用,方便协同开发者快速理解程序,或者后期维护的时候能快速回忆起当初程序的含义。
`dog2 = ''
dog3 = ''`
上面两个一般用于简单的变量中,比如测试一些程序,或者讲课中方便快速构建变量时使用。
2.类的命名
一般类的命名我习惯使用首字母大学的方法,如下面的代码示例。
`import abcclass Animal(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def test1(self):
pass`
@abc.abstractclassmethod
def test2(cls):
pass
dog = Animal()`
上面的命名方法在我们构建对象的时候能快速锁定类的来源。
下面是我从网上找的一些命名方式,和我的很相似,大家可以借鉴一下:
-
1. 模块名尽量短小,并且全部使用小写字母,不推荐使用下划线。
-
2. 类名采用单词首字母大写形式
-
3. 模块内部的类采用下划线
-
4. 函数、类的属性和方法的命名规则同模块类似,也是全部使用小写字母,
-
5. 常量命名时全部使用大写字母,可以使用下划线