猫史档案馆


【python教程】1、最简单的数据形式——变量

用户:嗯哼君 渠源嗯哼君 渠源查看:0 回复:6 评论:0 创建时间:2018-10-12T19:35:51


嗯哼,我就系你们滴嗯哼君啦~~~

没错,嗯哼君这是偶尔心血喵,来给你们上一节课

之前的准备工作我就不再说了,直接进入教程!

PS:本教程使用python3.6以及win7系统,编辑器为codemao编辑器

相信你已经编写过print('hello world')过了吧,今天我们来让他复杂点(本教程里的代码颜色均为codemao编辑器语法突出颜色)

小知识点:正常的python都是不带颜色的,但是个别的编辑器会将不同类型的单词(我们姑且先这么叫他)分为不同的颜色让萌新更好认,这种现象叫做“语法突出"

我们来这样改编一下hello_word.py:

ho_wd = "hello world"

print(ho_wd)

print(“hello world”)

你会发现,运行之后他会输出两遍“hello world”。我们为了进行对比所以一个用了变量一个用了字符串的形式。

这是为什么呢?让我们来一行一行分析一下。

处,我们设定了变量“ho_wd”,设定的方法是变量名加一个等号再加设定内容,若字符串的话还要加引号

(PS:别忘了等号两边的空格偶,虽说不加也不会报错,但是可以让你的代码一目了然)

现在变量ho_wd已经与字符串“hello world”关联起来了,所以变量ho_wd就代表了这句话

现在我们在print中使用这个ho_wd变量,也就是使用了这句话,所以他会输出“hello world”

注意啦,若使用变量的话print里面就不用加引号了,若加上系统会认为你要他打印“ho_wd”这句话

若你还是不好理解,这样字可能可以让你理解一下:

一个变量就是一个箱子,这个箱子无限大,但只能放一个东西(目前来说)。

我们把这个箱子命名为“ho_wd”,然后在里面放了一句话:“hello world”。

现在print就像是告诉你什么什么东西,我们现在要print告诉我们箱子里是啥——箱子里是“hello world”这句话,所以他会告诉我们这句话。

你可能认为这是闲着没事干,实则不然,理解变量的工作方式很重要——这关乎了你以后所有的程序。

接着,我们可以更改变量的值——也就是把箱子里的东西换一下

现在我们新建一个文件:message.py,输入以下代码,你猜猜会发生什么:

message = "hello"

print(message)

message = 32

print(message)

python给我们输出了两行话:“hello”和“32”。让我们继续用箱子来理解一下:

我们先创建了箱子“message”,并在它里面放了“hello”这句话(见

因此在下一行的询问中print就会回答我们当前箱子“message”里的东西——“hello”

接着,在处我们把箱子“message”里的东西拿了出来,换成了一个数字32.

注意:有关数据类型我会在下一节将,但是现在你就要注意了:数字两边不用加引号,但是空格也是要有的。若你的程序里有数字且运行时报错,可以检查一下数字的语法突出是否为紫色,若是绿色系统则理解错误,若是其他的颜色你就要仔细看看了。这部分我会自爱下节仔细讲一下,下节也是在你的Python生涯中所将要遇到的第一个难点。

然后我们再询问print,他检查一下箱子“message”里的东西,发现已经不是“hello”而是数字32了,于是将新的东西报告给你

更改你也可以这么理解:将他初始化并重新定义,所以和定义的方法一样。

若你出了错误,不要惊慌,这里有几个解决方法适用于你。

一:拼写错误

center_image

这是我们第一次接触错误报告,我们来一行一行分析一下:

第一行是最后一个输出,表明输出是在print(hello)之后断开的。这个是正常运行,跟错误报告无关。

第二行的Traceback是惯用语,表示代码有错误,也是错误报告的开头语

第三行是出错文件的位置,由于codemao编辑器自带临时文件,所以这行前面会因人而异。后面的“line”是出错代码的位置,这在有好几十行的大文件中很实用。这里指出了第7行,我们就可以直接跳到第7行。

第四行就是出错代码了:他指出了这行代码出了错误

第五行就是出错原因了,也是最重要的一行。这里指出的是nameerror,简单翻译就是“名称错误”,这是常见的一种错误。

nameerror的错误原因有两个:拼写错误或未定义。这里是拼写错误,我们把“message”写成“mesage”了。

未定义就是说你要用这个变量(箱子里的东西)了,但是却未对该变量做任何调整(没往箱子里放东西),所以会报错

两者的区别是一个事先定义了,但是用的时候出了错。另一个就是事先没定义,这个未定义错误在函数中很常见。

但是python会将两者混为一谈:因为在他看来“mesage”也是一个独立的变量,他没有被定义。python从来不关注字符串的拼写错误、语法错误或者联系,所以在python里“message”与“mesage”没有任何关系,也不会将其联想。

于是我们把“mesage”改成“message”

其余的错误我们会在下节指出,比如TypeError等,其实是因为版面不够了······

 

后记:

pep-8是一部古老的条约,内容主要介绍了人们在编写python程序的时候应遵守哪些约定。

https://www.python.org/dev/peps/pep/pep-0008

内容有很多,但是我们现在用到的基本都是命名的条约。你可以不遵守,但是别人将不能理解你的意图。

注意:变量名不能和Python内置函数重名,否则将引发错误。函数现在你们可以理解为一个单词,比如“print”、“and”等,等学到函数的时候你就理解了(注意,这个函数不是你苦思冥想也解不开的二次函数那个函数)。

变量的命名还应该注意不能用数字和_打头,最好也不要用l或O(可能会被误解为1、0)

除此之外,我们建议用_来代替空格,以及变量名应具备代表性、简洁性。还有要用小写(这个我会在类那里解释)。

例如:ho_wd比hello_world好(简洁)

l_E比l_e好(禁止大写)

i_handsome比i_h好(应具有代表性)

and_1_3比1_and_3好(禁止数字打头)

and,由于切换中英语很麻烦,所以建议变量的命名都用英语。

不要因此而迷糊了,命名的这种语感是慢慢培养的,所以不必头大,以后你慢慢地就会无师自通了

下一节预告:2、其他的数据形式——字符串、整数与浮点数


回复

上一页1 页 / 共 1下一页
嗯哼君 渠源嗯哼君 渠源

没人吗······

点赞0


评论


一个bug一个bug

多弄些图片吧

 

点赞0


评论


栗子安安栗子安安

萌新还没开始学🤦‍♀️

点赞0


评论


欠王迷欠王迷

2333

我来捣下乱(滑稽)

字符串是一串字符,比如"你好",'nihao',‘123’,只要加了双引号或者单引号,都叫字符串

print(3)和print('3')是不一样的,虽然输出的数据相同,但数据类型不同

怎么个不同呢?你可以试试print(3+3)和print('3'+'3')

答案显而易见,第一个是6,第二个则是33,字符串类型的加法只是单纯的数据叠加,和整数与浮点数类型是不一样的

想让其他类型转换成字符串类型可以用这个函数:str()

如str(1)

这时,就可以让原来的整数类型的1变成字符串类型的'1'了

(懒得打字了)

点赞1


评论


官方雷电猴官方雷电猴

猴几来报道~~

点赞0


评论


无名name无名name

很适合Python新手!

点赞1


评论