JM_Python_01

写作原因:
第一次听说Python这门语言是在大学,但是因为当时对计算机知识的缺乏和自身眼界的关系,并没有进行有意识去掌握这门语言。工作之后因为从事相关行业,相对在学校有了一些基础编程技术储备,比如面向对象编程(Object Oriented Programming,OOP),比如一些基础算法(Algorithm)。同时因为暂时周末和下班后有空余时间可以支配,同时不想像大学一样用看电影消磨宝贵时间,作为单身狗兼码农的我(捂脸。。。)学习一门新的语言似乎是个绝佳的选择。因为本人接触Python时间不长且只是兴趣爱好,本文不会也不敢讨论Python的高级应用和生产开发,另外对本人不是很熟悉的技术如(正则表达式,网络编程等只给出相关链接或简单介绍,以避免误导)本文以及接下来的所有文章都是围绕Python的基础语法知识展开。 另外本文所使用的Python版本为Mac自带Python 2.7.10,因为Python2和Python3语法变化很大,我会力所能及的在写代码的时候写出Python2和Python3的区别,但是并不保证本文所有代码在Python3上可以正常编译。仅供交流和共同学习进步之用,欢迎讨论。

关于Python:
维基百科:https://zh.wikipedia.org/wiki/Python (需翻墙)
百度百科:http://baike.baidu.com/link?url=xQZXeim7TX9NbQT8FvYn7ClNzINNwC55IIafKipzIFRvWduUhNQkO_8eFg22K5Eh4CyK5H3TzjTO0oU7hFjch_

正文开始:
绝大多数Mac系统都自带有Python解释器,我们可以使用以下命令即可以调出Python解释器
JumMings-MacBook-Pro:~ junming$ python
输出:
>>>
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>>


接下来就可以愉快的写python啦。
<1> 数字和表达式
首先我们来看看Python提供的强大的计算功能
>>> 2+2
4
>>> 12345+43435
55780
>>> 1+2*3
7
>>> (1+2)*3
9
是不是没什么感觉,这些都是非常简单的功能,和正常使用计算器并无区别,但是这里面又个潜在陷阱,那就是整数除法
>>> 1/2
0
发生了什么?1除以2怎么会得到0?当一个整数被另一整数整除的时候,小数部分会会被自动截除只剩下整数部分,在某些时候,这个功能是很有用的,但是我们依然需要普通的除法,我们可以通过两个有效解决方案实现
>>> 1.0/2.0
0.5
>>> 1/2.0
0.5
>>> 1.0/2
0.5
>>> 1/2.
0.5
实数字啊Python中成为浮点数(Float),如果参与除法的两个数又一个为浮点数,则运算结果也是浮点数。
但是如果我就是想按照正常的数学写法来实现1/2=0.5呢?
只需要倒入倒入一下模块(M odule
>>> from __future__ import division
>>> 1/2
0.5
>>> 1/5
0.2
>>> 1/4
0.25
是不是和普通计算器一样了呢!通过这两种方式,你就能把普通计算器找回来啦!
写到这里你可能又发现新问题了,如果这时我又想要整除了呢(看我看神自己体会此刻我的心情。。。)?
不过既然有需求,说明生产开发中肯是有这样的需求的,Python依然提供了解决方案,不信你看。
>>> 1//2
0
>>> 1//4
0
>>> 1//5
0
猜对了,这次使用双斜线。而且这时候即使使用浮点数依然会进行整除运算
>>> 1.0//2.0
0.0
>>> 1.0//4.0
0.0
除了加减乘除,还有一个非常有用的运算,相信聪明的你已经猜到了
>>> 1%2
1
>>> 1%2
1
>>> 2%3
2
>>> 2%2
0
这就是取余操作
Python这么强大的语言,计算器怎么能木有乘方操作呢?
>>> 2**2
4
>>> 2**3
8
>>> -2**2
-4
>>> (-2)**2
4

2的1~10次方
>>> for i in range(1,11):print 2**i
...
2
4
8
16
32
64
128
256
512
1024

5的1~10次方
>>> for i in range(1,10):print 5**i
...
5
25
125
625
3125
15625
78125
390625
1953125
有了Python,再也不用担心老师要求把2和5的次方数都记住啦!
可能又有小伙伴提要求啦!你举的例子都是很小的整数运算,Python能不能处理很长的数呢?
>>> 10**20
100000000000000000000L
>>> 20**20
104857600000000000000000000L


这个L是什么鬼?
当你输入的书非常大的时候(整数不能大于2147483647同时也不能小于-2147483647)如果需要更大的数,就需要在结尾加上L(其实小写l也是可以的但是因为小写l和1很像,避免误判尽量大写),以上计算结果最后有L是Python自动将整数转换为了长整数,我们也可以手动转换
>>> 1024L
1024L
>>> 1000L
1000L
>>> 1L
1L


只需要在整数后面添加L即可
Python亦可以进行长整数的数学运算
>>> 104857600000000000000000000L+100000000000000000000L+18
104857700000000000000000018L

<2> 变量和语句
变量(variable)是编程知识中需要熟知的概念,如果你数学学的不错,那么恭喜你。Python中的变量和数学中的变量差不多。如果你非常讨厌数学,也不用担心。Python中的变量的概念也很好理解。变量基本上就是代表(或者引用)某个值的名字。简单说来就是一个人的名字就是变量,而本人就是变量引用的值,我们通过变量名可以很容易找到变量引用的值。就好比通过名字很容易找到你本人一样(当然变量肯定是可变的,一个人的名字一般是不可变的,这点需要区别)。
>>> x = 2
>>> 3*x
6
>>> 3**x
9
>>> y = 3
>>> x*y
6
>>> x**y
8
请注意:在使用变量之前需要对变量赋值,毕竟不代表任何值的变量也没有任何意义,对吧!
>>> z
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'z' is not defined
使用未赋值变量会直接抛出异常

语句
事实上在前面我们已经使用过语句了:print 语句和赋值语句
>>> print 2*2
4
>>> 2*2
4
如果你是在交互式解释器中执行上述代码,结果是一样的,这只是交互式解释器总是把所有表达式的值输出而已,如果使用其他非交互式解释器,如Sublime text,执行2*2时Python并不会将结果输出,而执行print 2*2时才会输出结果4


>>> x = 2
>>> 2*x
4
注意:在Python3中,print是函数,这意味着在Python3中你需要使用print()而不是print 来执行输出
好啦,今天先写到这里,俺要吃饭去啦!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值