文档章节

2-python学习——hello world

乌合之众
 乌合之众
发布于 2015/06/18 16:15
字数 1412
阅读 30
收藏 1

#2-python学习——hello world

"hello world"是编程界一个经久不衰的例子,几乎所有语言的学习教程都把它当做第一个程序的范例。学习的过程就是再造轮子的过程,千万不要以为有人做过的,就不去学习了。

##hello world

我们先打开CPython解释器。

o@o-pc:~$ python2.7
Python 2.7.10 (default, Jun 17 2015, 14:15:05) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

打开之后就可以在>>>的后面输入python语句了。 我们先试一下print这个命令,看是否成功输出"hello world"

>>> print "hello world"
hello world

因为这是在python2.7环境下,如果切换到python3.x这就行不通了。不信请看

o@o-pc:~$ python3.4
Python 3.4.3 (default, Mar 26 2015, 22:03:40) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
  File "<stdin>", line 1
    print "hello world"
                      ^
SyntaxError: Missing parentheses in call to 'print'

python3.4下报了一个错误,意思是语法错误,调用print的时候缺少括号。 我们使用有括号的版本就好了。

>>> print ("hello world")
hello world

###python脚本文件 上面是在python的交互界面下输出的"hello world",那么有没有办法不使用这种交互界面,而是写一个python脚本文件呢?当然是可以了啦。 我们可以新建一个文件2.py,然后写入

print("hello world")

然后我们使用python 2.py来执行它。

o@o-pc:~$ python 2.py 
hello world

关于python脚本的文件名,并不一定要以.py做后缀,这只是比较通用的做法。

help函数

学习过linux/unix系统编程的人,应该对manpage这个东西是比较熟悉的。而python中提供了一个类似的东西,那就是help函数了。如果不清楚某个函数怎么用,就使用help(函数名)来获取相关的文档信息。 python 官方文档中文站

先来获取一下print函数的用法

>>> help(print)


print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

print函数

###print概述

全是英文的,看起来有困难吧。那就别管它了,我来解释一下。


print函数可以用来打印一些值,默认是输出到标准输出file参数可以控制输出流到别的位置。 end参数控制字符串输出后是否自动加'\n',你可以改为别的。 sep参数用于控制分割符,默认是空格。 flush参数控制是否强制刷新流。 这样说是不是还不清除,没关系,举个栗子嘛。

>>> print(1,"+",2,"=",1+2,sep='\t',end=' ')
1	+	2	=	3 >>> print(1,"+",2,"=",1+2)
1 + 2 = 3
>>> 

看上面的输出,分割符换成了'\t',结尾没有加'\n'的。对比一下就很清楚了吧。 这是在python3.4下做的,如果换做python2.7,那么输出会变成

>>> print(1,"+",2,"=",1+2)
(1, '+', 2, '=', 3)

这是两者的区别。

###print格式化输出

print的格式化输出,可以参考C语言的printf函数的格式化选项,这是类似的。

看下面的代码

>>> a=1000
>>> print("%d"%a)
1000
>>> b=12.345
>>> print("%f"%b)
12.345000
>>> print("%f"%(a+b))
1012.345000
>>> print("%d"%(a+b))
1012

分析一下。 这里先是定义了一个变量a,并赋值为1000,然后使用print来格式化输出。%d表示以整数的方式来输出,后面紧跟的%a是取变量a的值的意思,和shell脚本中的$有点类似。 后门又定义了一个变量b,赋值为123.45,然后以浮点数的形式输出。 最后两个是输出链路这两者的和。注意,python中的数据是向下取整的。 python中的变量不像C/C++这类强类型的语言,它的变量类型只与其最后一次被赋值有关。看下面的语言,重新给变量b赋值了一个字符串"hello",然后输出它。

>>> b="hello"
>>> print("%s"%b)
hello

再看这个

>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>
>>> b=123
>>> type(b)
<class 'int'>

要注意,格式化字符串一定要用""包含起来,并且后面紧跟要输出的变量。有两个格式化选项%s%r比较特殊,无论变量保存的数据类型是什么,都能正常输出。 原因是%s调用的是str()函数把对象转化为str类型,而%r是调用了repr()将对象转化为字符串。 下面是在python2.7下进行的,python3.x已经不支持这种默认转换了。

>>> import time
>>> d=time.localtime()
>>> print d
time.struct_time(tm_year=2015, tm_mon=6, tm_mday=17, tm_hour=15, tm_min=47, tm_sec=56, tm_wday=2, tm_yday=168, tm_isdst=0)
>>> print "%s"%d
time.struct_time(tm_year=2015, tm_mon=6, tm_mday=17, tm_hour=15, tm_min=47, tm_sec=56, tm_wday=2, tm_yday=168, tm_isdst=0)
>>> print "%r"%d
time.struct_time(tm_year=2015, tm_mon=6, tm_mday=17, tm_hour=15, tm_min=47, tm_sec=56, tm_wday=2, tm_yday=168, tm_isdst=0)

python3.x可以这样做,而且这样做是值得提倡的做法。

>>> print("%s"%(str(d)))
time.struct_time(tm_year=2015, tm_mon=6, tm_mday=17, tm_hour=15, tm_min=44, tm_sec=49, tm_wday=2, tm_yday=168, tm_isdst=0)

>>> print("%s"%repr(d))
time.struct_time(tm_year=2015, tm_mon=6, tm_mday=17, tm_hour=15, tm_min=44, tm_sec=49, tm_wday=2, tm_yday=168, tm_isdst=0)

###print直接输出变量 print可以直接输出变量的,是按照变量的类型来输出的。关于python变量,将在下一篇文档中详述。

>>> a=10.10
>>> b=123
>>> c="nihao"
>>> d='c'
>>> print(a,b,c,d)
10.1 123 nihao c

© 著作权归作者所有

乌合之众
粉丝 14
博文 90
码字总数 79438
作品 1
海淀
程序员
私信 提问
Python小白学习笔记(成长之路)

Python语言可能是第一种即简单又功能强大的编程语言。它不仅适合于初学者,也适合于专业人员使用,更加重要的是,用Python编程是一种愉快的事。本身将帮助你学习这个奇妙的语言,并且向你展示...

乐先生
2013/12/23
0
0
我的数据分析(算法)学习进阶路线

今天简单介绍下,我入门数据分析以及算法工程师对我有帮助的资料。 第一步报个驾校,有车可以练车技 开车第一步不是学习交规,而是先报个驾校,你得有车可以练车技。就像用python写程序第一步...

cloudinsea
2018/05/07
0
0
python学习笔记(一)——入门

python很多人都非常熟悉,而我作为后知后觉者,虽然慢人一步,但是学习永远不会晚。其实作为shell,不管是perl还是ruby、powershell等,语法很相似的,我以前没接触过python,现在从最基础的学...

zhoujie0111
2013/03/30
0
0
第一个Hello World 程序

1.1.3 Hello World 程序 >>> print("Hello world!") Hello Python interpreter! 安装文本编辑器 Geany是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需 通过终端...

平步清云
2018/07/21
0
0
编程与下厨房:如何教女友写Python(二:不从Hello World开始

一、不从“Hello World”开始 但凡是介绍编程语言的入门书籍,都会把“hello world”这个句子的输出作为第一个程序的示例,这种约定俗成的做法就像是新居进火的仪式一般具有非凡的意义。 但是...

州的先生
2018/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

优雅的关闭Spring Boot

优雅的关闭Spring Boot 1、实现 TomcatConnectorCustomizer 接口拿到Tomcat的连接获取 Tomcat连接池 2、实现 ApplicationListener<ContextClosedEvent> 监听服务器关闭事件,注册JVM钩子函数...

sowhat
今天
2
0
Python3-Web开发

简介 Web开发框架 什么是Web框架? Web应用程序框架或简单的Web框架表示一组库和模块,使Web应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。 virtualenv是一个虚拟...

wuxinshui
今天
3
0
使用技媒体实践编写发布博客

技媒体实践博客 CSDN OSChina 知乎 简书 思否 掘金 51CTO

晨猫
今天
2
0
Lucene

1、什么是全文检索 数据分类 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固...

榴莲黑芝麻糊
昨天
5
0
python到setuptools、pip工具的安装

python安装 基础开发库   apt-get install gcc  apt-get install openssl libssl-dev 安装数据库和开发库   apt-get install mysql-server libmysqld-dev python环境   下载地址...

问题终结者
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部