今天来学习python的变量和命名。

咳咳,每个人心里都有一帮朋友,这个朋友的名字就是个变量。

怎么理解变量呢?

比如,朋友A问B,“C的电话是多少";B会说,”13800138000“,这里C就是一个变量。

再如:朋友A问B,"C的生日是多少";B说:”XX月XX日“,这里C就对应一个时间。

所以变量就是在特定环境中代表特定的内容和意义,当然暗号也是变量的一种。这是我对变量的理解。

 

说完变量,怎么让一个变量有意义呢,对暗号的时候,通常会发一个小本本,比如”该“党在地下的时候,那样,来了一个东西,先去查本本,这个本本就是约定好的规则。

朋友之间的问话是建立在都认识C的情况下,如果不认识的朋友,肯定是不知道的,因此告诉他,这个动作就叫做赋值。

 

赋值:

>>> A = 123

>>> print A

123

这个命令就是告诉机器,A 代表123,以后我在问你的时候,要告诉我。那此时A也就是一个变量了。

 

"=" 和 ”==“ 的区别

  = 用于赋值,就是让某一个变量负有意义的一个符号。

      常见的赋值方法有这些:

     x = 3 #使x等于3

     x,y = 3,4 #使x =3 ,y=4

     (x,y) = (3,4) #同上

     x,y = (3,4) #同上

    x,y = [3,4]#同上

最最重要的:变量的命名规则,变量的首字母不能是数字和特殊符号(”_“除外)

 

 

好了,看看<笨办法学python>的习题。

加分习题:

当我刚开始写这个程序时我犯了个错误,python 告诉我这样的错误信息:
Traceback (most recent call last):    #Traceback是用来格式化跟踪返回信息,
File "ex4.py", line 8, in <module> #文件ex4.py中的第四行出现错误
average_passengers_per_car = car_pool_capacity / passenger
NameError: name 'car_pool_capacity' is not defined #命名错误:上面的这个运算中,car_pool_capacity没有初始化。

通常情况下,变量需要先声明在使用。也就是你都没告诉car_pool_capacity是什么东西。。。机器就茫然了。。换做是你,你也会问一句,这个是tm的什么玩意,我不知道诶。

 

 

更多的加分习题:
1. 我在程序里用了 4.0 作为 space_in_a_car 的值,这样做有必要吗?如果只用 4 会有什么问题?

使用4.0是浮点数,会计算小数。。
2. 记住 4.0 是一个“浮点数”,自己研究一下这是什么意思。

大神勿怪,我的理解,浮点数可以简单理解为,带有小数点的数。
3. 在每一个变量赋值的上一行加上一行注解。

#汽车为100
cars = 100
#一个车的空间是4个。使用4.0,难道是挤一挤也可以做4个多人吗?老外真奇怪
space_in_a_car = 4.0
#驾驶员30个
drivers = 30
#乘客90个
passengers = 90
#有多少个车没有司机:汽车数 - 驾驶员
cars_not_driven = cars - drivers
#有多少车可以开动:等于驾驶员的数量
cars_driven = drivers
#拼车的能力 总的车 × 每个车的空间
carpool_capacity = cars_driven * space_in_a_car
#每个车的乘客等于乘客处于汽车的数量
average_passengers_per_car = passengers / cars_driven
print
print
print
print
print
print
"There are", cars, "cars available."
"There are only", drivers, "drivers available."
"There will be", cars_not_driven, "empty cars today."
"We can transport", carpool_capacity, "people today."
"We have", passengers, "to carpool today."
"We need to put about", average_passengers_per_car, "in each car."

 


4. 记住 = 的名字是等于(equal),它的作用是为东西取名。
5. 记住 _ 是下划线字符(underscore)。
6. 将 python 作为计算器运行起来,就跟以前一样,不过这一次在计算过程中使用变量名来做计
算,常见的变量名有 i, x, j 等等。

 

 

 

他的下一章是格式化输出:

格式化输出通常是指变量特别多的时候,没办法一个一个搞,需要把变量一个个使用 + 号链接,当然可以,但是很麻烦,看起来也相当丑陋不是吗?

这时候格式化输出应运而生。

举个小例子:

a = "hello"

b = "world"

c = "kairong"

>>> print a + b + c

>>> helloworldkairong

呃,忘记了一句话,前面我说过两个字符串相加的话是原样相加,所以这里输出的和我们预期有一点点区别,那怎么获取我们的预想值呢?

a = "hello"

b = "world"

c = "kairong"

>>> print a + ” “+b + ” “ + c

>>> hello world kairong

这样就对了,但是当你变量太多的时候,是不是这个" "就需要打太多了呢。。

看看格式化输出吧

a = "hello"

b = "world"

c = "kairong"

>>> print ” %s %s %s“ % (a, b , c)

>>> hello world kairong

是不是看着就规整了很多呢,好了,肯定有人会问%s是什么鸟玩意?

那我就把这个常用的给大家简单的介绍下吧,我也初学扎练说的不对的,万望见谅!

%s 对应位置是一个字符串,string

%d 对应位置是一个整形数,如果你的位置对应的是一个float他会帮你转换成整型,就像下面一样。

a = 10.1
>>> print "%d" %(a)
10

%f对应位置是一个浮点数,如上面的例子,如果你对应的位置是一个整型,他会协助你转换为浮点型,后面给你搞几个0上去。

%x %o 分别对应16进制,8进制。

%r,这个是对应位置不论是啥都给搞出来。

 

%s,%d,%x,%f,%o 前面可以加一个数字代表从左起对齐,比如print "%2d" %(1),这个意思就是输出从左起第二位输出。

%f前面可以加".1"(小数点加数字),代表小数点后的位数。比如print "%.2f" %(10.1234)输出就剩下了10.12了

 

好了,题外话,说几个看起来高端的格式化输出方法。

字典输出法:什么是字典后面会说道。

dict_kairong = { "title":"Kairong","author":"sageskr","age":18}

print "%(title)s 的作者是%(author)s,他的年龄是%(age)d" %(dict_kairong)

Kairong 的作者是sageskr,他的年龄是18

格式化输出法:

print "sageskr的年龄是{age}".format(age=18)
sageskr的年龄是18

 

 

今天就讲到这里了,如果有看官的话,晚安了

posted on 2013-04-25 22:04  Kairong  阅读(446)  评论(0编辑  收藏  举报