一个“MacBook”新手的Python“笨办法”自学之旅 #第六章:常用的简易Python命令、符号、代码、格式化字符串

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

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

                                                                                      

                                                                            话不多说,我们开始吧!

 

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

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

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

 

 

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

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

 

 

-------------------------------------<习题1:第一个程序>-------------------------------------------

   习题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!(法语版谢谢!)

 

 

------------------------------------<习题2:注释和#号>-------------------------------------------

 

 

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

   首先介绍解释符合#的工作原理:在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

   终端运行结果如下:

   

 

 

------------------------------------<习题3:数字和数学计算>---------------------------------------

 

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

   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 - 0
32 print 7 / 4 - 0
ex3.py

   终端运行结果如下:

   

 

 

 

------------------------------------<习题4:变量和命名>---------------------------------------

 

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

   名词:变量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

   终端运行结果如下:

   

 

----------------------------------<习题5:变量和格式化字符串>--------------------------------------

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

   格式化字符串:通过用转换说明符,把已经定义好的变量格式更改一下,其运用方法参考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_name
11 print "He's %d inches tall." % my_height
12 print "He's %d pounds heavy." % my_weight
13 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_teeth
16 
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" %sum
12 print "sum is: %+7.6i" %sum
13 print "sum is: %-7.6i" %sum
14 
15 print "3,转换为带符号的八进制式的整数"
16 print "sum is: %07.6o" %sum
17 print "sum is: %+7.6o" %sum
18 print "sum is: %-7.6o" %sum
19 
20 print "4,转换为带符号的十六进制式的整数"
21 print "sum is: %07.6x" %sum
22 print "sum is: %+7.6x" %sum
23 print "sum is: %-7.6x" %sum
24 
25 print "5,转换为带符号的十六进制式的整数"
26 print "sum is: %07.6X" %sum
27 print "sum is: %+7.6X" %sum
28 print "sum is: %-7.6X" %sum
29 
30 print "6,转换为科学计数法表示的浮点数"
31 print "sum is: %07.6e" %sum
32 print "sum is: %+7.6e" %sum
33 print "sum is: %-7.6e" %sum
34 
35 print "7,转换为科学计数法表示的浮点数"
36 print "sum is: %07.6E" %sum
37 print "sum is: %+7.6E" %sum
38 print "sum is: %-7.6E" %sum
39 
40 print "8,转换为十进制的浮点数"
41 print "sum is: %07.6f" %sum
42 print "sum is: %+7.6f" %sum
43 print "sum is: %-7.6f" %sum
44 
45 print "9,转换为十进制的浮点数"
46 print "sum is: %07.6F" %sum
47 print "sum is: %+7.6F" %sum
48 print "sum is: %-7.6F" %sum
49 
50 print "10,智能选择使用e或者f格式"
51 print "sum is: %07.6g" %sum
52 print "sum is: %+7.6g" %sum
53 print "sum is: %-7.6g" %sum
54 
55 print "11,智能选择使用E或者F格式"
56 print "sum is: %07.6G" %sum
57 print "sum is: %+7.6G" %sum
58 print "sum is: %-7.6G" %sum
59 
60 name1 = 100
61 name2 = "a"
62 print "转换为单字符(只接受整数或单字符字符串)" #没搞明白是什么意思,该处会报错
63 print "name1 is: %c" %name1
64 print "name2 is: %c" %name2
65 
66 name3 = "messi"
67 print "使用repr()将变量或者表达式转化为字符串"
68 print "name3 is: %r" %name3
69 
70 
71 name4 = "neymagico"
72 
73 print "使用str()将变量或者表达式转化为字符串"
74 print "name4 is: %s" %name4
ex5_1.py

 

 终端运行结果如下:

      

 

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

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

   

 

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

 

 

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

 

 

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

 

posted @ 2019-06-15 18:47  Neymagico  阅读(629)  评论(0编辑  收藏  举报