博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「学习笔记——Python」Python非正式导引
阅读量:6643 次
发布时间:2019-06-25

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

3 Python非正式导引

在本节的例子中,以提示符>>>, … ,开始的是输入,否则为输出, #后为python的注释

Table of Contents

1 把Python当作计算器

1.1 数字

首先进入交互模式,将Python当作计算器

$ pythonPython 2.7.3 (default, Aug  1 2012, 05:16:07) [GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> 1 + 23>>> 1 - 2-1>>> 2 * 36>>> 2 / 40>>> 2 / 0Traceback (most recent call last):  File "
", line 1, in
ZeroDivisionError: integer division or modulo by zero>>> (1+2)*39

还可以给变量赋值,然后参与运算

>>> x = 3>>> y = 4>>> (x + y) * 535

还可以连续赋值,但不能使用没有定义过的变量

>>> x = y = z = 3.4>>> x3.4>>> y3.4>>> cTraceback (most recent call last):  File "
", line 1, in
NameError: name 'c' is not defined>>> z3.4

同时,Python还支持复数,可以用 a + bj,或者complex(a,b)表示

>>> 1 + 2j(1+2j)>>> 2j * 3j(-6+0j)>>> complex(1+2j) * complex(1-2j)(5+0j)

同时,还可以将复数赋给变量,然后提取实部,虚部

>>> x = (3+4j)>>> x.real3.0>>> x.imag4.0

float(),int(),可以将值分别转换为浮点型和整型,但对复数不适用,复数可以用abs()得出其绝对值,或称为模。

>>> int(3.4)3>>> int(3.5)3>>> float (3)3.0>>> a = 1 + 2j>>> a(1+2j)>>> float(a)Traceback (most recent call last):  File "
", line 1, in
TypeError: can't convert complex to float>>> abs(a)2.23606797749979>>> abs(3+4j)5.0

交互模式下可以用 _ 代表上次计算的结果

>>> 1 + 2 3>>> 4 + _7>>> 5 * _35

1.2 字符串

除了数学外,Python还可以操作字符串,注意转义字符,单引号,双引号,试几个例子,体会一下

>>> 'hello,python''hello,python'>>> "hello,python"'hello,python'>>> 'Don't'  File "
", line 1 'Don't' ^SyntaxError: invalid syntax>>> 'Don\'t'"Don't">>> "Dont't""Dont't">>> "Don\'t""Don't"

字符串可以分为多行,并用print函数打印

>>> hello = "This is a string which is \n\... used to test multi\... lines.">>> print helloThis is a string which is used to test multilines.

注意换行符\n,以及多行编辑\这两个符号的使用。

也可以用三引号,这样就不必写这两个转义字符。

>>> hello = """... Usage: thingy [OPTIONS]... -h      Display this usage message... -H      hostname Display host name... """>>> print helloUsage: thingy [OPTIONS]-h      Display this usage message-H      hostname Display host name

如果不需要转义字符,即\n就表示\n,不表示转义,可以以r作用字符串起始

>>> hello = r"this is \n a test line">>> print hellothis is \n a test line>>> hello = "this is \n a test line">>> print hellothis is  a test line

字符串可以被连接,甚至可以被“乘”(其实也是连接啦~)

>>> words = 'A' + ' hello ' + 'B'>>> print wordsA hello B>>> '<' + words*3 + '>'''

字符串也可以被提取,下标从0开始,下标可以为负数,表示倒数 str[i:j]表示从str下标i到下标(j-1),共j-i个字符。 str[_:3]表示str[0:3] str[2:_ ]表示下标2开始到最后

>>> words = "hello">>> words[0]'h'>>> words[0:3]'hel'>>> words[1:2]'e'>>> words[:3]'hel'>>> words[2:]'llo'>>> words="hello">>> words[-1]'o'>>> words[-2]'l'

字符串中字母不能被修改,只能再造字符串

>>> words'hello'>>> words[0] = 'a'Traceback (most recent call last):  File "
", line 1, in
TypeError: 'str' object does not support item assignment>>> words="hi">>> words'hi'

字符串长度可用len函数得到

>>> words="hello">>> len(words)5

1.3 Unicode 编码的字符串

使用u前缀来定义Unicode 编码的字符串 使用unicode函数将其它形式编码转化为unicode形式 使用encode可以将unicode形式编码转化为其它形式

>>> u'Hello python !'u'Hello python !'>>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')u'\xe4\xf6\xfc'>>> u"äöü".encode('utf-8')'\xc3\xa4\xc3\xb6\xc3\xbc'

1.4 List

Python有一系列数据结构,可以用于将多个值组合在一起,其中最多才多艺的要数List

>>> a = ['spam', 3, 4.5, "hi"]>>> a['spam', 3, 4.5, 'hi']>>> a[0]'spam'>>> a[1]3>>> a[-1]'hi'>>> a[1:-1][3, 4.5]>>> 2*a[:3] + ['xxx']['spam', 3, 4.5, 'spam', 3, 4.5, 'xxx']

与字符串不同,List的各元素可以被改变

>>> a['spam', 3, 4.5, 'hi']>>> a[1] = 6>>> a['spam', 6, 4.5, 'hi']

同时List还可以方便地进行插入,替换等操作

>>> a['spam', 6, 4.5, 'hi']>>> a[1:1] = ['xxx','yyy']>>> a['spam', 'xxx', 'yyy', 6, 4.5, 'hi']>>> a = ['x','y','z']>>> a['x', 'y', 'z']>>> a[0:2] = ['a','b']>>> a['a', 'b', 'z']

len同样可得到List的元素个数

>>> a['a', 'b', 'z']>>> len(a)3

2 初步程序设计

从上一节可以看出,Python相当地灵活易用,下面开始进入程序设计~ 第一个例子,来自著名的Fibonacci数列:

>>> # Fibonacci series ... # the sum of two elements defines the next... a, b = 0, 1>>> while b < 10:...     print b...     a, b = b, a+b... 112358

上面的程序很简单,不细说,从中也可以体会到python编写的程序简洁易懂,短小精悍 需要注意的是while程序块没有像c,java那些以括号包围,而是使用了缩进 如果不想在输出时换行,只需要在print b后加逗号~

>>> a, b = 0, 1>>> while b < 10:...     print b,...     a, b = b, a+b... 1 1 2 3 5 8

作为一个python初学者,我只能说,我的心已经深深地跌进了湖水里…….

注:原文:

转载于:https://www.cnblogs.com/Iambda/archive/2013/02/26/3933496.html

你可能感兴趣的文章
Linux_ 网络配置及操作
查看>>
IP地址冲突解决方案,局域网IP地址冲突如何解决?
查看>>
【套路·分享】免费https ssl证书获取
查看>>
数据库知识体系梳理(一)
查看>>
武动乾坤
查看>>
CI 经常失败?可能是这 5 大原因…
查看>>
微信公众平台OAuth2.0授权登陆(PHP)
查看>>
【CCNP】BGP路由反射器与AS联邦案例实验
查看>>
TCP_Wrappers
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
一个很酷的加载loading效果
查看>>
我的友情链接
查看>>
Java解析json串
查看>>
ubuntu12.04 NFS搭建指南
查看>>
Sublime Text 使用介绍、全套快捷键及插件推荐
查看>>
toolbar
查看>>
spring boot 项目,maven打jar包时,将本地jar一块打入包
查看>>
Windows Server 2012 虚拟化实战:存储(一)
查看>>
linux shell 计算时间差并显示按时分秒显示
查看>>