设为首页 加入收藏

TOP

笨办法学Python - 习题4: Variables and Names(一)
2019-01-15 12:08:49 】 浏览:172
Tags:法学 Python 习题 Variables and Names

1、习题 4: 变量(variable)和命名

学习目标:了解Python中变量的定义,学习定义简明易记的变量名

变量:变量是存储内存中的值,就是每定义一个变量就会在内存中开辟一个空间。基于变量的类型。解释器会分配指定的内存,并解决什么数据可以被存储到内存中。

在Python中使用变量时,变量不需要提前定义,只需要给变量赋值即可,赋值的过程就是创建这个变量的过程。但是如果要使用这个变量,必须要给这个变量赋值。

1547469161143

变量的命名规则:

  • 变量名只能是字母、数字、下划线的任意组合,但是不能是数字开头,且不能包含空格
  • 不能使用Python预留的关键字
  • Python支持中文变量名,但是一般不建议使用
  • 变量名要有意义,有描述性,简明,一般采用驼峰式命名方法

习题四中的练习代码是:

# 定义汽车数量的变量car ,并给变量car赋值为100
cars = 100

# 定义汽车内空间的变量space_in_a_car ,并为其赋值4.0
space_in_a_car = 4.0

# 定义司机人数的变量drivers , 并为其赋值30
drivers = 30

# 定义乘客数量的变量drivers , 并为其赋值30
passengers = 90

# 定义无法行驶的车辆数量的变量cars_not_driven ,其值为上面定义的cars变量和drivers变量相减为70
cars_not_driven = cars - drivers

# 再定义可以形式的车辆数量变量cars_driven , 然后将变量drivers的值赋值给变量cars_driven
cars_driven = drivers

# 定义最大拼车容量的变量carpool_capacity,将变量cars_driven和变量space_in_a_car值做乘法为120.0
carpool_capacity = cars_driven * space_in_a_car

# 定义变量平均每辆车中的乘客数量变量average_passengers_per_car ,将变量passengers和变量cars_driven值做除法得到结果为3
average_passengers_per_car = passengers / cars_driven

# 下面是打印输出变量所代表的值
print "There are", cars, "cars avaiable."

print "There are only", drivers, "drivers avaiable."

print "There will be", cars_not_driven, "empty cars today"

print "We can transport", carpool_capacity, "people today."

print "We have", passengers, "to carpool today."

print "We need to put about", average_passengers_per_car, "in each car."

上述代码的运行结果为:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo4/Exer4-1.py
There are 100 cars avaiable.
There are only 30 drivers avaiable.
There will be 70 empty cars today
We can transport 120.0 people today.
We have 90 to carpool today.
We need to put about 3 in each car.

在上面练习代码时,不注意程序运行后报了个错:

1547470233524

原因:报错提示是说在第19行car_pool_capacity这个变量没有定义,我们知道变量在使用前必须要先赋值,但是上面赋值的变量是carpool_capacity,和写错的变量名差了一个下划线,说明这是两个变量,不能混用。

2、加分习题:

  1. 我在程序里用了 4.0 作为 space_in_a_car 的值,这样做有必要吗?如果只用 4
    会有什么问题?
  2. 记住 4.0 是一个“浮点数”,自己研究一下这是什么意思。
  3. 记住 = 的名字是等于(equal),它的作用是为东西取名,记住 _ 是下划线字符(underscore)。
  4. 将 python 作为计算器运行起来,就跟以前一样,不过这一次在计算过程中使用变
    量名来做计算,常见的变量名有 i , x , j 等等。

3、我的答案:

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

没有必须,因为在Python2中,整数运算中只有除法运算中才会产生小数部分被舍弃的情况,乘法中并不会产生丢弃小数部分的情况,Python3中默认是都不会舍弃小数部分。

2、浮点数的概念?

这个问题具体详情见上一章浮点数的定义,这里就不做过多的赘述了。

3、 = (等号)的名字是等于(equal),它的作用是为东西取名

变量的赋值就是采用 “=” 来实现的,就是把等号右边的值赋给等号左边的变量

4、扩展:

变量的赋值不仅仅是单纯的变量赋值,还涉及到内存的分配,所以赋值的变量和不赋值的变量时不一样的,下面来举个栗子:

4.1、我名字变了吗?

name1 = "Kang"   #定义变量name1,并赋值为Kang

name2 = name1   #定义变量name2,并将name1的值赋给name2

#打印输出name1 和 name2的值
print "第一次输出结果:name1=",name1    
print "第一次输出结果:name2=",name2

name1 = "Jack"  #再次为变量name1赋值为新值Jack

#打印输出name1 和 name2的值
print "第二次输出结果:name1=",name1    
print "第二次输出结果:name2=",name2
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo4/Exer4-2.py
第一次输出结果:name1= Kang
第一次输出结果:name2= Kang
第二次输出结果:name1= Jack
第二次输出结果:name2= Kang

由上面的运行结果可以看出来,最后的运行结果是name1 = Jack ,name2 = Kang,?

这里很多人就会问了,上面不是进行了赋值操作吗,name2 = name1,然后name1值变了,name2的值不也应该跟着变吗?

但是实际 情况不是这样的,因为这Python中变量的赋值其实是一个内存地址的引用,其之间只是一个地址的引用,变量之间没有其他关系,比如上面name2 变量只是将变量name1 当做一个寻找对象的一个桥梁,其之间没有其他任何关系

详细解释:

name1 = Kang
name2 = name1

1547517064058

这两

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇线程、进程、协程和GIL(三) 下一篇python爬取博客圆首页文章链接+标..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目