python实现中撤销上一步的代码mac_一个“MacBook”新手的Python“笨办法”自学之旅 #第六章:常用的简易Python命令、符号、代码、格式化字符串...

第六章:常用的简易Python命令、符号、代码、字符串

《“笨办法”学Python》这本书中,确实用了较多篇幅来介绍Python的一些常用简单的命令、符号、代码和字符串等,对于像我这样的自学新手,真的是非常棒,因为它们可以帮我建立接着学下去的信心和兴趣。但我在这个系列的博客当中,不打算写的这么精细,首先因为这不符合我写博的初衷和习惯,其次因为我不打算靠这写书来挣钱,最后因为我确实没有那个实力去挖掘简单东西中更深奥复杂的应用。所以,我写的这个博客,只适合像我这样的自学新手,如果想要成为大神,还是需要进行专业系统的学习!

话不多说,我们开始吧!

------------------------------------------------------------如何开始?---------------------------------------------------------

------------------------------------------------------------如何开始?---------------------------------------------------------

------------------------------------------------------------如何开始?---------------------------------------------------------

我本打算按自己的想法,以总结性的形式来写这个博客,但是我发现那样会很乱很乱,倒不如借用Zed的《“笨办法”学Python》形式,以习题为大纲,中间穿插重要的知识点。这本书在网上能找得到网页版的,我本人是买的纸质版的书籍。所以我打算,尽量不将大篇幅的脚本代码写如博客,而是将更多的精力,用于总结和记忆以前学习和摸索出来的知识。这对于我来说,更是一个学习的过程,如果给大家带来了不便,十分抱歉!

在这一章节中,我会写较多的习题,因为它们都比较简单,相信大家很快就能学会!

--------------------------------------------------------------------------------

习题1,确实是没有什么特别的地方,主要是让我们在了解一下Python2的print输出命令同时,学会用终端来“运行”python脚本的方法。

1, print “需要打印的字符串”  可以输出我们想要打印的字符串;

2,第一行:# -*- coding: utf-8 -*- 的作用是,可以让脚本代码里面的中文字,在终端中打印出来,否则会出现关于ASCII编码的报错;

3,运行Python脚本的办法:在终端中进入脚本文件(ex1.py)所在的目录; 键入python ex1.py;回车即可

注意:我没想到博客园的博客编辑页面插入代码这么容易,所以在后续的每个习题最下方会插入我自己键入的代码。如果是我自己学的小代码或游戏,也会在该习题的博客编写当中插入。大家只需要点击 “View Code”就行。

ex1.py的代码如下:

1 #-*- coding: utf-8 -*-

2 print "hello world!"

3 print "hello again"

4 print "I like typing this."

5 print "This is fun."

6 print 'Yay! Printing.'

7 print "I'd much rather you 'not'."

8 print 'I "said"do not touch this.'

9 print "您好!"

ex1.py

终端运行的结果如下:(在之后的终端运行结果,这一次我用复制的形式,是想要在某些行后面注释,在接下来的终端运行结果,我直接就用截屏的方式了)

bogon:~ neymagico$ cd temp/ex   #在终端中进入脚本文件(ex1.py)所在的目录;

bogon:ex neymagico$ python ex1.py #键入python ex1.py,并回车

hello world!

hello again

I like typing this.

This is fun.

Yay! Printing.

I'd much rather you 'not'.

I "said"do not touch this.

您好

求助!求助!求助!求助!:本人也有一个迷惑,关于 # -*- coding: utf-8 -*-的。在后续的代码编写中,我用到了自己学的法语,含有一些特殊字符,例如é, è, ê等等,不知道应该在脚本首行键入什么样的代码可以实现,本人在网上搜过一段时间,但是没有结果,期待哪位大神给予解答,Merci beaucoup!(法语版谢谢!)

-------------------------------------------------------------------------------

这一个习题特别简单,只是介绍注释和#号。虽然简单,但它的作用非常之大,评价一个码农的水平高低,这也是一个非常重要的标准。

首先介绍解释符合#的工作原理:在python的脚本代码中,#后方的代码都被python忽略和禁用,只能在阅读脚本源代码时能看见注释符合#后方的代码。根据它的工作原理,可以演变出很多作用:

1,可以在脚本中,用注释符号#来解释自己写这段代码时想法或运行原理,防止他人和自己不懂!没错,自己将来也可能会忘记自己写的代码是什么意思!

2,我们可以用#来帮我们暂时禁用一些代码,待想用时,删除# 即可;

3,注意,用双引号""括住的#不是注释符号,而是字符串的一部分

ex2.py代码如下:

1 #A comment, this is so you can read your program later.

2 #Anything afer the # is ignored by python.

3

4 print "I could have coded like this." #and the comment afer is ignored

5

6 #You can also use a comment to "disable" or comment out a piece of code:

7 #print "This won't run."

8

9 print "This will run."

ex2.py

终端运行结果如下:

---------------------------------------------------------------------------

这一个习题要讲的东西不是特别多,就是简单的数学计算,不过有几点是需要注意的:

1,%不是百分号,而是求余符号:例如python里的 100 % 16结果为4。因为100除以16的余数为4;

2,浮点数(小数)的运算结果和整数的运算结果可能不同,因为python会把小数部分丢弃,参考下方代码的最后两行,其运行结果不同;

3,运算不仅仅是加减乘除,还包括:>, =,<=,

ex3.py代码如下:

1 #-*-coding:utf-8-*-

2 #告诉这个程序是在数鸡的个数

3 print "I will now count my chickens:"

4 #母鸡的个数是 25加上30除以6

5 print "Hens", 25+30/6

6 #公鸡的个数是100减去25乘3的积再除以4求余的结果

7 print "Roosters", 100-25 * 3 % 4

8 #开始数鸡蛋的个数

9 print "Now I will count the eggs:"

10 #计算3+2+1-5+4/2的余-1/4+6

11 print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6

12 #询问3+2小于5-7是否正确

13 print "Is it true that 3 + 2 < 5 - 7?"

14 #计算3+2<5-7的结果,结果是False

15 print 3 + 2 < 5 - 7

16 #询问3+2等于多少,并计算3+2的结果

17 print "What is 3 + 2?", 3 + 2

18 #询问5-7等于多少,并计算5-7的结果

19 print "What is 5 - 7?", 5 - 7

20 #由前两个命令行得知,为什么3+2<5-7是错误的

21 print "Oh, that's is why it's False."

22 #再多做一点怎么样?

23 print "How about some more."

24 #是大于?并计算5>-2的结果,结果为true

25 print "Is it greater?", 5 > -2

26 #是大于等于?并计算5>=-2的结果,结果为true

27 print "Is it greater or equal?", 5 >= -2

28 #是小于等于?并计算5<=2的结果,结果为False

29 print "Is it less or equal?", 5 <= -2

30

31 print 7.0 / 4.0 -032 print 7 / 4 - 0

ex3.py

终端运行结果如下:

---------------------------------------------------------------------------

这一个习题会介绍一个非常重要的名称和一个非常重要的概念:

名词:变量variable:该如何解释呢?你想要测试每天的气温,将气温设为变量T,那这个变量T会跟一些外界因素有关,例如季节、时间、地点、海拔等;Python里面的变量,可以是一个确切的数值、字符、列表、字典等等;

概念:定义变量:Python里面的变量必须要被定义,否则没有意义,会报错。定义的方式是 T = 100 ℃。当然了,也会有其它情况的变量,不需要这样定义,是在定义函数时默认被定义了,暂时想不起实例,后续想起来会在该处更新(想起来了:例如在while循环和for循环语句当中,变量是默认已经被定义的了,每循环一次,变量被重新定义一次)注意:不能用数字1、2、3、4等来定义变量,变量名必须要以字母开头,例如a1。

变量的简单输出方式,可参考下方的代码,直接可以用print T,不需要用双引号。

ex4.py代码如下:

1 #-*-coding:utf-8-*-

2 cars=100 #总共有100辆车

3 space_in_a_car=4.0 #一辆车共4个座位

4 drivers=30 #共有30位司机

5 passengers=90 #共有90位乘客

6 cars_not_driven = cars-drivers #没有开的车的数量等于车的总量减去司机的数量

7 cars_driven=drivers #开走的车的数量等于司机的数量

8 carpool_capacity=cars_driven*space_in_a_car #座位的数量等于可开走车的数量乘以每辆车的座位数

9 average_passengers_per_car = passengers / cars_driven #每辆车平均乘客的数量等于乘客的总数量除以被开车的数量

10

11

12 print "there are", cars, "cars available."

13 print "there are only", drivers, "drivers availabe."

14 print "there will be", cars_not_driven, "empty cars today."

15 print "we can transport", carpool_capacity, "people today."

16 print "we have", passengers, "passengers to carpool today."

17 print "we need to put about", average_passengers_per_car, "passengers in each car."

ex4.py

终端运行结果如下:

------------------------------------------------------------------------

这一习题,主要是介绍格式化字符串和变量结合起来的运用,首先介绍一下格式化字符串:

格式化字符串:通过用转换说明符,把已经定义好的变量格式更改一下,其运用方法参考ex5.py

ex5.py代码如下:

1 #-*-coding:utf-8-*-

2 my_name = 'Zed A. Shaw'

3 my_age = 34 #not a lie

4 my_height = 74 #inches

5 my_weight = 180 #lbs

6 my_eyes = 'Blue'

7 my_teeth = 'White'

8 my_hair = 'Brown'

9

10 print "Let's talk about %s." %my_name11 print "He's %d inches tall." %my_height12 print "He's %d pounds heavy." %my_weight13 print "Actually that's not too heavy."

14 print "He's got %s eyes and %s hair." %(my_eyes, my_hair)15 print "His teeth are usually %s depending on the coffee." %my_teeth16

17 #this line is tricky, try to get it exactly right

18 print "If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height + my_weight)

ex5.py

终端运行结果如下:

除了ex5.py中的转换说明符,还有其它的,详见ex5_1..py。

ex5_1.py代码如下:

1 #-*- coding:utf-8 -*-

2 sum = -28.91234567

3

4 print "1,转换为带符号的十进制式的整数"

5 print "sum is: %07.6d" %sum #此处的‘0’表示 不补充空格,而是补充0;‘7’表示最小宽度为7,负号占用一个宽带;‘6’表示浮点数的小数点后的位数

6 print "sum is: %+7.6d" %sum #此处的‘+’表示书中总要带着符号(+/-);‘7’表示最小宽度为7,负号占用一个宽带;‘6’表示浮点数的小数点后的位数

7 print "sum is: %-7.3d" %sum #此处的‘-’表示制定左对齐;‘7’表示最小宽度为7,负号占用一个宽带;‘3’表示浮点数的小数点后的位数

8 print "sum is: %7.3d" %sum #没有‘-’,最小宽度为7,所以输出的结果不是左对齐,而是用空格补充空位

9

10 print "2,转换为带符号的十进制式的整数"

11 print "sum is: %07.6i" %sum12 print "sum is: %+7.6i" %sum13 print "sum is: %-7.6i" %sum14

15 print "3,转换为带符号的八进制式的整数"

16 print "sum is: %07.6o" %sum17 print "sum is: %+7.6o" %sum18 print "sum is: %-7.6o" %sum19

20 print "4,转换为带符号的十六进制式的整数"

21 print "sum is: %07.6x" %sum22 print "sum is: %+7.6x" %sum23 print "sum is: %-7.6x" %sum24

25 print "5,转换为带符号的十六进制式的整数"

26 print "sum is: %07.6X" %sum27 print "sum is: %+7.6X" %sum28 print "sum is: %-7.6X" %sum29

30 print "6,转换为科学计数法表示的浮点数"

31 print "sum is: %07.6e" %sum32 print "sum is: %+7.6e" %sum33 print "sum is: %-7.6e" %sum34

35 print "7,转换为科学计数法表示的浮点数"

36 print "sum is: %07.6E" %sum37 print "sum is: %+7.6E" %sum38 print "sum is: %-7.6E" %sum39

40 print "8,转换为十进制的浮点数"

41 print "sum is: %07.6f" %sum42 print "sum is: %+7.6f" %sum43 print "sum is: %-7.6f" %sum44

45 print "9,转换为十进制的浮点数"

46 print "sum is: %07.6F" %sum47 print "sum is: %+7.6F" %sum48 print "sum is: %-7.6F" %sum49

50 print "10,智能选择使用e或者f格式"

51 print "sum is: %07.6g" %sum52 print "sum is: %+7.6g" %sum53 print "sum is: %-7.6g" %sum54

55 print "11,智能选择使用E或者F格式"

56 print "sum is: %07.6G" %sum57 print "sum is: %+7.6G" %sum58 print "sum is: %-7.6G" %sum59

60 name1 = 100

61 name2 = "a"

62 print "转换为单字符(只接受整数或单字符字符串)" #没搞明白是什么意思,该处会报错

63 print "name1 is: %c" %name164 print "name2 is: %c" %name265

66 name3 = "messi"

67 print "使用repr()将变量或者表达式转化为字符串"

68 print "name3 is: %r" %name369

70

71 name4 = "neymagico"

72

73 print "使用str()将变量或者表达式转化为字符串"

74 print "name4 is: %s" %name4

ex5_1.py

终端运行结果如下:

求助!求助!求助!求助!:本人确实是不知道下面三个转换符该如何使用,求前辈们帮忙!

1,%C:转换为单字符(只接受整数或单字符字符串)

PS:将字符串转换成整数的方式是 :int("str")

这一章暂时写到着吧,篇幅够长了!

*** 第七章预告:字符串、文本、各种打印、转义序列、手动输入raw_input()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值