在05我们遇到了第一个变量,但是还不清楚什么是变量,这篇文章就要正式的讲一下变量。
一、什么是变量
变量是在python中存放一些数据的东西,我们可以把变量想象成一个小盒子,变量名就是小盒子的标签,赋值就是把东西放到这个小盒子里面。
例如:name = ‘张三’
name是变量名 ,‘张三’就是值
上面的例子中,就是把‘张三’ 放到了name这个变量的里面,我们就可以在 print () 函数的括号中,直接使用变量名获得变量的值
如果你不想放张三进去,放一些其他的,也是没问题的
例如:123456 、‘¥@#@’ 、“admin” 、0.14156
不过,这些东西的格式都是不一样的,123456是整数,’¥@#@‘和”admin“是带引号的字符串,0.14156是浮点数
至于如何区分变量里面放的到底是什么类型的东西,可以使用 type( ) 查看变量类型
>>> print( type( ' 字符串 ' ) ) 字符串类型
<class 'str'>
>>> print( type( 123456 ) ) 整型类型
< class ' int ' >
>>> print( type( 2.56 ) ) 浮点数类型
< class ' folat ' >
不得不说,变量真的很神奇,什么都可以放进去呢 (@_@ ~~嗯嗯)
二 、变量起名的规则
1,同一个变量可以多次赋值
例如:
>>> name = '张三'
>>> print(name)
张三>>> name = '王五'
>>> print(name)
王五这是因为,程序运行时,是从上向下阅读代码的,在第一段张三赋值给了name,打印name就会出现张三;
在第二段里,name被重新赋值了,抹除了原本的 张三 把王五添加进去了,所以第二次打印就会显示王五
在给变量起名字的时候,有几个点需要额外的注意一下;
1,只能用数字和字母还有下划线组成,而且不能用数字开头;
2,严格区分大小写
3,不能使用关键字和空格
例如:
比如:a 、sofa、Student、student01、User_Name、User、__main__
都是可以的,规范的变量名
但是 01a、user.*? 、lis&bang、 user(name)
这样的就不可以。因为这些里面有数字开头的或者有除了下划线的其他符号
还有就是这些关键字的内容也是不可以的:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
这些内容在之后的内容里会逐步讲解,这里暂时先不多说
好了,说了这么多,动手试一试吧,下面给出的这些名字里,都有谁是不合格的呢?
fromNo12
from#12
my_Boolean
my-Boolean
Obj2
2ndObj
myInt
test1
Mike2jack
My_tExt
_test
test!32
haha(da)tt
int
jack_rose
jack&rose
GUI
G.U.I
答案在这里:
合格的有:GUI、_test、My_tExt、 Mike2jack、 test1、 myInt、Obj2、 my_Boolean、 fromNo12不合格的是:
G.U.I 含有符号 .
jack&rose 含有特殊符号&
int int是关键字
haha(da)tt 有括号
2ndObj 数字开头
my-Boolean 有符号 -
from#12 有符号 #
而且,在起名字的时候,还有几条不成文的规定:
1,尽量做到见名知意
就是说,如果你想用变量存储一些名字,但是你给他起名叫做bool,其他人在阅读代码
的时候就会很疑惑,而且还降低了可读性,不能快速的知道这个变量的作用。
2,驼峰式命名法
就像把变量的名字看起来就像骆驼的峰一样,高低错落,在这里分为了两种
1,大驼峰式命名法:
每一个单词都是由大写字开头,例如:UserName、NameList
2,小驼峰式命名法:
第一个单词是由小写字母开头,第二个单词的首字母用大写
例如:aDog、 myName
3,下划线连接
字面意思,如果要有多个单词拼接成的字符串,单词之间使用下划线连接
例如: user_name、name_list、bool_list
4,变量名,函数名和文件名全小写,使用下划线连接;
例如:url_list、cat_img、student_list
5, 类名遵守大驼峰命名法;
例如:BoolGame、ReturnStr
6,常量名全大写;
例如:URL、DOCT