博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笨方法学python I
阅读量:6801 次
发布时间:2019-06-26

本文共 8124 字,大约阅读时间需要 27 分钟。

hot3.png

自己自学python,偶然间看到笨方法学python(作者是Zed Shaw)这一本书,在接下来的一段时间内,会完成书中所有的练习,希望自己能坚持下去,能够养成好习惯:读和写、注重细节、发现不同。

祝自己好运!

相应的环境: ubuntu 12.04  python2.7.3  

1.笨办法学 Python-第一题

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第一题#关于print 的使用print  'hello world!'print  '笨办法学 Python-第一题'print  'i like typing this'print  'this is fun'print  'yay!printing'print  "i'd much rather you 'not'"print  'i "said" do not touch this'

#在print语句中注意单双引号的使用,中英文都是可以使用的

运行结果:

hello world!

笨办法学 Python-第一题
i like typing this
this is fun
yay!printing
i'd much rather you 'not'
i "said" do not touch this

2.笨办法学 Python-第二题

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第二题#学习关于注释和#号的使用#A comment,this is so you can read you program later.#Anything after the # is ignored by python.print 'I could have code like this' #and the comment after is ignore#you can also use a comment to "disable" or comment out a piece of code:#print "this won't run"print "This will run"

知识点:学习关于注释的使用和#号的使用

运行结果:

I could have code like this

This will run

3.笨办法学 Python-第三题

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第三题#数字和数学计算print "多行内容书写:'''内容''' "print '''python 中所有的运算符:1.算术运算符:+ plus 加号- minus 减号/ slash 斜杠* asterisk 星号% percent 取余** 幂 - 返回x的y次幂    a**b 为10的20次方, 输出结果 100000000000000000000取整除 - 返回商的整数部分,9//2 输出结果 4 , 9.0//2.0 输出结果 4.02.比较预算符:< less-than 小于号> greater-than 大于号<= less-than-equal 小于等于号>= greater-than-equal 大于等于号== 等于 - 比较对象是否相等  eg:(a == b) 返回 False。!= 不等于 - 比较两个对象是否不相等  eg:(a != b) 返回 true.<> 不等于 - 比较两个对象是否不相等  eg:(a <> b) 返回 true。这个运算符类似 !=3.赋值运算符:=  简单的赋值运算符   c = a + b 将 a + b 的运算结果赋值为 c+= 加法赋值运算符    c += a 等效于 c = c + a-= 减法赋值运算符    c -= a 等效于 c = c - a*= 乘法赋值运算符        c *= a 等效于 c = c * a/= 除法赋值运算符    c /= a 等效于 c = c / a%= 取模赋值运算符    c %= a 等效于 c = c % a**=    幂赋值运算符     c **= a 等效于 c = c ** a//=    取整除赋值运算符   c //= a 等效于 c = c // a4.位运算符:&  按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0eg:(a & b) 输出结果 12 ,二进制解释: 0000 1100|  按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。eg:(a | b) 输出结果 61 ,二进制解释: 0011 1101^  按位异或运算符:当两对应的二进位相异时,结果为1eg:(a ^ b) 输出结果 49 ,二进制解释: 0011 0001~  按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1eg:(~a ) 输出结果 -61 ,二进制解释: 1100 0011<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。eg:a << 2 输出结果 240 ,二进制解释: 1111 0000>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数eg:a >> 2 输出结果 15 ,二进制解释: 0000 11115.逻辑运算符:and    x and y    布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。eg:(a and b) 返回 20。or x or y 布尔"或"  - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。eg:(a or b) 返回 10。not    not x  布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。eg:not(a and b) 返回 False6.成员运算符:in     如果在指定的序列中找到值返回 True,否则返回 False。eg:x 在 y 序列中 , 如果 x 在 y 序列中返回 True。not in 如果在指定的序列中没有找到值返回 True,否则返回 False。eg:x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。7.身份运算符s      is 是判断两个标识符是不是引用自一个对象eg:x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 Falseis not is not 是判断两个标识符是不是引用自不同对象eg:x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。'''print 'i will now count my chickens:'print '母鸡的数量:'print 'hens:',25.0+30.0/6print 'roosters:',100.0-25.0*3%4print 'now i will count eggs:'print 3+2+1-5+4%2-1.0/4+6print 'is it true that 3+2<5-7 ?'print  3+2 < 5-7print 'what is 3+2',3+2print 'what is 5-7',5-7print "oh,that's why it's false"print "how about some more"print "is it greater?",5>-2print 'is it greater or equal?',5>=-2print 'is it less or equal?',5<=-2

知识点:简单四则运算,多行编写'''内容''',逻辑运算符True and  False,浮点运算,注释的添加

运行结果:

多行内容书写:'''内容''' 

python 中所有的运算符:

1.算术运算符:
+ plus 加号
- minus 减号
/ slash 斜杠
* asterisk 星号
% percent 取余
**    幂 - 返回x的y次幂    a**b 为10的20次方, 输出结果 100000000000000000000
取整除 - 返回商的整数部分,9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

2.比较预算符:

< less-than 小于号
> greater-than 大于号
<= less-than-equal 小于等于号
>= greater-than-equal 大于等于号
==    等于 - 比较对象是否相等    eg:(a == b) 返回 False。
!=    不等于 - 比较两个对象是否不相等    eg:(a != b) 返回 true.
<>    不等于 - 比较两个对象是否不相等    eg:(a <> b) 返回 true。这个运算符类似 !=

3.赋值运算符:

=    简单的赋值运算符    c = a + b 将 a + b 的运算结果赋值为 c
+=    加法赋值运算符     c += a 等效于 c = c + a
-=    减法赋值运算符     c -= a 等效于 c = c - a
*=    乘法赋值运算符        c *= a 等效于 c = c * a
/=    除法赋值运算符      c /= a 等效于 c = c / a
%=    取模赋值运算符      c %= a 等效于 c = c % a
**=    幂赋值运算符        c **= a 等效于 c = c ** a
//=    取整除赋值运算符    c //= a 等效于 c = c // a

4.位运算符:

&    按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
eg:(a & b) 输出结果 12 ,二进制解释: 0000 1100
|    按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
eg:(a | b) 输出结果 61 ,二进制解释: 0011 1101
^    按位异或运算符:当两对应的二进位相异时,结果为1
eg:(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~    按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
eg:(~a ) 输出结果 -61 ,二进制解释: 1100 0011
<<    左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
eg:a << 2 输出结果 240 ,二进制解释: 1111 0000
>>    右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
eg:a >> 2 输出结果 15 ,二进制解释: 0000 1111

5.逻辑运算符:

and    x and y    布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
eg:(a and b) 返回 20。
or    x or y    布尔"或"    - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
eg:(a or b) 返回 10。
not    not x    布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
eg:not(a and b) 返回 False

6.成员运算符:

in        如果在指定的序列中找到值返回 True,否则返回 False
eg:x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in    如果在指定的序列中没有找到值返回 True,否则返回 False。
eg:x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

7.身份运算符

s          is 是判断两个标识符是不是引用自一个对象
eg:x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not    is not 是判断两个标识符是不是引用自不同对象
eg:x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

i will now count my chickens:
母鸡的数量:
hens: 30.0
roosters: 97.0
now i will count eggs:
6.75
is it true that 3+2<5-7 ?
False
what is 3+2 5
what is 5-7 -2
oh,that's why it's false
how about some more
is it greater? True
is it greater or equal? True
is it less or equal? False

4.笨办法学 Python-第四题

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第四题#变量和命名#定义车辆的总数cars=100#每辆车的空间space_in_a_space=4.0#定义司机的数量drivers=30#乘客的数量passengers=90#空闲的车辆cars_not_driven=cars-drivers#可以开车的司机数cars_drivern=drivers#总的乘车人数:carpool_capacity=cars_drivern*space_in_a_space#每辆车的人数:average_passengers_per_car=passengers/cars_drivernprint '定义车辆的总数:'print 'there are ',cars,'cars available.'print '可以开车的司机数: ',driversprint '空闲的车辆: ',cars_not_drivenprint '可以乘坐乘客的总数: ',carpool_capacityprint '每辆车的人数: ',average_passengers_per_car

知识点: 变量的使用和定义,注释的添加,语句的拼接,变量尽可能要见名知义,以字母,下划线开头,不要定义为关键字

执行结果:

定义车辆的总数:

there are  100 cars available.
可以开车的司机数:  30
空闲的车辆:  70
可以乘坐乘客的总数:  120.0
每辆车的人数:  3

5.笨办法学 Python-第五题

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第五题#更多的变量和打印使用格式化字符串的方式#own info introductmy_name='yuchen'my_age=20my_height=175my_weight=120my_addr='北京'print 'my_name: %s' % my_nameprint 'my_age: %d' % my_ageprint 'height is %d and weight is %d' %(my_height,my_weight)print '地址(%%r): %r' % my_addrprint '地址(%%s): %s' % my_addr#普通的计算print '普通计算:'print 'if I add %d,%d,sum=%d' %(my_height,my_weight,(my_height+my_weight))print '''python 所有的格式化字符了:%s    字符串 (采用str()的显示)%r    字符串 (采用repr()的显示)%c    单个字符%b    二进制整数%d    十进制整数%i    十进制整数%o    八进制整数%x    十六进制整数%e    指数 (基底写为e)%E    指数 (基底写为E)%f    浮点数%F    浮点数,与上相同%g    指数(e) 或浮点数 (根据显示长度)%G    指数(E)或浮点数 (根据显示长度)%%    字符"%"'''

知识点:格式化字符串输出

运行结果(注意%r和%s的区别,在面对中文的时候,%s输出中文,%r则输出编码):

my_name: yuchen

my_age: 20
height is 175 and weight is 120
地址(%r): '\xe5\x8c\x97\xe4\xba\xac'
地址(%s): 北京
普通计算:
if I add 175,120,sum=295

python 所有的格式化字符了:

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e) 或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

6.笨办法学 Python-第六题

关于字符串的讲解:

1.字符串通常是指你想要展示给别人的、或者是你想要从程序里“导出”的一小段字符。Python 可以通过文本里的双引号 " 或者单引号 ' 识别出字符串来.

2.字符串可以包含格式化字符 %s,只要将格式化的变量放到字符串中,再紧跟着一个百分号 %,再紧跟着变量名即可。唯一要注意的地方,是如果想要在字符串中通过格式化字符放入多个变量的时候,需要将变量放到 ( ) 圆括号中,而且变量之间用 , 逗号隔开。不如”(milk, eggs, bread, soup)”

#!/usr/bin/python#coding=utf-8#笨办法学 Python-第六题#字符串的简单学习#单个格式化字符串x='there are %d type of pelple' % 10binary='binary'do_not="don't"#多个格式化字符串y="those who konw %s and those who %s" %(binary,do_not)print  xprint  yprint "I said: %r" %xprint "I also said: %s" %y#通过两个变量来组成字符串格式化sol= Falsejok='is not that joke so funny ?! %r'print jok % sol#语句连接方式w='i love 'e='china'print w+e

知识点: 字符串连接方式'+号'(在做拼接的时候要保持两边的类型相同),字符串格式化的使用

执行结果:

there are 10 type of pelple

those who konw binary and those who don't
I said: 'there are 10 type of pelple'
I also said: those who konw binary and those who don't
is not that joke so funny ?! False
i love china

 

 

 

转载于:https://my.oschina.net/WYU3CHEN/blog/1359368

你可能感兴趣的文章
Linux系统下UDP发送和接收广播消息小例子
查看>>
每天尝试改变一点点!
查看>>
KNN(K-Nearest Neighbor)最邻近规则分类
查看>>
IntelliJ IDEA 2016.1破解码一枚
查看>>
metasploit ***测试笔记(meterpreter篇)
查看>>
HTTP基础
查看>>
JavaSE学习笔记(五)——类与对象
查看>>
Android之高仿飞鸽传输热点创建与搜索模块
查看>>
Struts2、Spring和Hibernate应用实例(中)
查看>>
[转]MYSQL性能优化分享(分库分表)
查看>>
用php实现异步执行任务的队列(一)
查看>>
AngularJS表单验证操作例子分享
查看>>
RabbitMQ 的安装与工作模式
查看>>
视图的跳转,ViewController的使用 。试图出现启动消失过程
查看>>
博科300光纤交换机配置手册/操作方法/密码设置/用户指南大全
查看>>
HTML Dom
查看>>
Linux下为PHP添加扩展库的方法
查看>>
HBase(四):HBase API判断表是否存在,结果问题爆棚。。
查看>>
宏定义冲突
查看>>
cobbler-自动化部署
查看>>