【python变量大全】变量定义赋值、类型判断、变量命名规范、变量不能用的保留关键字

263 阅读5分钟

几乎在所有编程语言当中变量是最先接触语法概念,那么什么是变量,变量应该怎么定义呢,定义变量又该注意哪些因素呢?这里我们来给大家详细聊聊。

一、变量的定义****

在python中定义变量很简单,只要一个赋值语句就可以了比如:

a10

这里就成功定义一个变量了,这里的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这个变量。

4-1.png

返回结果为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_age18  # 学生年龄

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. 常量命名时全部使用大写字母,可以使用下划线