码迷,mamicode.com
首页 > 编程语言 > 详细

初心大陆-----python宝典   第二章

时间:2016-06-17 01:02:36      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:初心大陆-----python宝典   第二章

模块,上次在第一章中已经实现了一些功能,将原本32.9岁的人变成了32岁,当然,人家确实是没有到33岁,这么说也不太好,怎么实现的。

import math  到入模块

int(math.floor(32.9)) 将年龄为32.9的人变成了32岁   

32

继续往下看:

哎,小P老师,为啥我每次要调用函数的时候都要写上那个模块的函数的名称呀,真实麻烦呀,突然感觉我好懒,突然天空中有了明显的波动,飘下了一段神秘代码。

>>> from math import sqrt

>>> sqrt(9)

3.0

>>> 

咦真的可以,sqrt看来就是计算平方根的了。有备注,噢噢噢,原来只能是非负实数,就是不能计算为负数的实数呗。

接着看。有提示:

>>> foo=math.sqrt

>>> foo(9)

3.0

>>> 

我靠还有这么方便的用法,不错。

看来真是数中自有黄金屋,书中自有颜如玉

!!!半天不说话,小P老师,真的不能计算为负数的平方根吗?

感觉又被人鄙视的感觉,继续往下看,

又出来个模块,叫cmath 、,这是啥,

试试再说

>>> import cmath

>>> cmath.sqrt(-1)

1j

>>> 

真是太奇怪了,2个模块都调用sqrt,那我命名时,出来的该是什么。

>>> from cmath import sqrt

>>> sqrt(9)

(3+0j)

我刚刚模块定义的sqrt失效了被替换了,有提示:除非真的需要使用from .. import ..方式,否则应该坚持使用普通的import.

下面,我们将要接触新的知识,拥有一个可执行的脚本,

想要使用脚本就需要在首行添加#!/usr/bin/env python即可

赶紧试验下。

cat a.py 

#!/usr/bin/env python


print 1 + 2 * 4

想要执行脚本就必须要使脚本拥有权限,

下面小P老师给我讲了个有意思的东西,在另外一个平行空间也可以操作初心大陆,

下载windows,python的2.7版本https://www.python.org/downloads/release/python-2711/

也可以操作,效果是一样的,并且可以直接执行脚本

突然发现通过windows版python(dos)写代码也很爽呀

哈哈,

进入平行空间啦,

在脚本首行前面加#!叫做pound bang 或者shebang,在其后家还是那个用于解释脚本的程序绝对路径,

,感觉好麻烦,记不住呀,容易忘,有没有通用一点的。

接着看吧。

咦!!!!!

只要将#!/usr/bin/env python不管python二进制文件在哪里都能找得到路径呀,太好了。妈妈再也不用担心我健忘了。

在初心大陆的话执行脚本一定要赋予脚本权限chmod 777 hello.py

./hello.py就能执行了。

不扯了,接着看啦。

注释?(#)在python中有些特殊,他右边一切都会被忽略。

什么情况,注释居然是神器,我得到神器啦。属性好牛逼。

只要在前面加个#无视后面任意东西。

在配合我写程序时,注释可以更加好的让我回顾。


在初心大陆里面有一些字符串是有特殊含义的。

例如:

>>> "let‘s go"

"let‘s go"

>>> ‘let‘s go‘

SyntaxError: invalid syntax

>>> 

很明显可以看出let后面的撇号阻止go后面的撇号导致执行失败,那么怎样才能好用呢。

接着看看了。

原来有转义符号呀。

我要试试:

>>> ‘let\‘s go‘

"let‘s go"

>>> 

哇,真的可以呦,那么是不是所有的字符都可以转义呢。

我试验下吧。

>>> "let\"s go"

‘let"s go‘

>>> 

这样也可以呦,不错,

>>> 1000000L

1000000L

>>> print 10000000L

10000000

>>> 

这的不错,我要抓紧学习啦,不过为什么print打印出来的和我想要的不一样呢,初心大陆又闹情绪了。

有备注:

>>> print repr("Hello, world!")

‘Hello, world!‘

>>> print repr(10000L)

10000L

>>> print str("Hello, world!")

Hello, world!

>>> print str(10000L)

10000

>>> 

str和repr是可以进行切换的,str是把值转化为合理形式的字符串,而repr会创建一个字符串。

>>> print "The temperature is  " + temp


Traceback (most recent call last):

  File "<pyshell#22>", line 1, in <module>

    print "The temperature is  " + temp

TypeError: cannot concatenate ‘str‘ and ‘int‘ objects

>>> print "The temperature is  " + `temp`

The temperature is  42

>>> 

第一个执行失败,第二个执行成功,``反引号成功的原因是将temp的值成功转换为了字符串42,

>>> print "The temperature is  " + repr(temp)

The temperature is  42

使用repr也可以实现一样的效果,

>>> print "The temperature is  " + str(temp)


The temperature is  42

str也可以实现。。多种方法都行。

在2.7版本中input和raw_input还是有区别的,我们看下例子吧:

>>> input("Enter a number: ")

Enter a number: 3

3

>>> raw_input("Enter a number: ")

Enter a number: 3

‘3‘

>>> 

作为交互来使用时,如果输入的是字符串那么就会报错了

>>> input("Enter a number: ")

Enter a number: fff


Traceback (most recent call last):

  File "<pyshell#34>", line 1, in <module>

    input("Enter a number: ")

  File "<string>", line 1, in <module>

NameError: name ‘fff‘ is not defined

>>> 

但是用raw_input就不会。所以在2.7版本中使用raw_input

>>> raw_input("Enter a number: ")

Enter a number: ff

‘ff‘

>>> 

小P老师我能写长一点的内容和初心大陆沟通吗?

。。。。还是继续看书吧:

长字符串,有多长呢,我要试试貌似和我刚刚说的那么吻合呢

>>> ‘‘‘

Hello chuxin

you are beautiful

‘‘‘

‘\nHello chuxin\n\tyou are beautiful\n\t‘

>>> 

>>> print "niao123\n\n\n"

niao123




>>> 

看来\n就是换行符的意思。

开会耽误了。明天继续吧。

初心大陆-----python宝典   第二章

标签:初心大陆-----python宝典   第二章

原文地址:http://bjzby.blog.51cto.com/4084070/1790021

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!