Python初试~

Python是一门很高级的编程语言,与c++,c不同,用Python编程可以容易地实现自己的想法,实现想要的功能,并且编写出的程序清晰易懂。
下面我尝试着编写了两个小程序:
1.倒序输出参数行列表以及参数

import sys

for i in sys.argv[:0:-1] :
    print i[::-1],
print "\b"

2.输入字符串使其中的字符间隔两个输出

x = raw_input()
print x[0::3] + x[1::3] + x[2::3]

看起来是不是很简单,但如果用c++来对字符串进行处理的话,相对来说就简单多了。对于上面的例子,关键部分就在于Python的列表,它可以说是Python的“苦力“。它属于Python序列一种。

下面简单介绍序列,以及列表。

例如

>>>greeting = 'Hello, how are you?'
>>>greeting[0]
'H'
>>>greeting[-1]
'?'

这里字符串就是一个由字符组成的序列(但不是列表),可以使用索引来获取序列中元素。索引0指向第一个元素,这里就是’H’。不同与其他语言,Python可以用负数作为索引,这时会从最后的元素开始计数,最后一个元素的编号为-1。

接下来介绍分片,分片操作用来访问序列中一定范围内的元素

>>>numbers = [1,2,3,4,5,6,7,8,9]
>>>numbers[2:4]
[3,4]
>>>numbers[0:1]
[1]
>>>numbers[2:]
[3,4,5,6,7,8,9]
>>>numbers[-2:0]
[]
>>>numbers[-2:]
[8,9]

这里numbers是一个列表,其中有1~9,9个数(列表中的元素也可以是字符串,等等)
可以看出分片操作需要提供两个索引作为边界,第1个索引是要提取的第1个元素,第2个索引是分片之后的第1个元素的编号,即分片中不包括第2个索引对应的元素。如果要包括序列中最后一个元素,就可以不写出第2个索引。
如果分步中最左边的索引比它右边的出现的晚,结果会是一个空序列。

在分片时,除了开始和结束的索引,其实还有一个隐藏的参数步长,默认为1。如下:

>>>numbers[0::1]
[1,2,3,4,5,6,7,8,9]
>>>numbers[0::2]
[1,3,5,7,9]

通过这个例子可以看到步长的作用,分步操作就是按照这个步长来逐个遍历序列的元素,然后返回开始和结束点之间的元素。

步长不能为0,不过可以为负值,此时分片从右到左提取序列中的元素,且开始点(索引)应大于结束点

>>>numbers[7:5:-1]
[8,7]
>>>numbers[5::-2]
[6,4,2]

除了这些,序列之间还可以相加,序列还可以使用乘法

>>>[1,2,3] + [4,5,6]
[1,2,3,4,5,6]
>>>'python'*5
'python'

序列中还有几个内建函数十分有用,如len,min,max。len函数返回序列中所包含元素的数量,min函数和max函数则会分别返回序列的最大最小元素。

>>>len(numbers)
9
>>>max(numbers)
9
>>>min(numbers)
1

前面的例子多次运用了列表,我们可以看出其功能强大,这里就不对列表再进行深入。
再来看最开始的两个小程序

第一个程序:倒着打印出所有参数

import sys

for i in sys.argv[:0:-1] :
    print i[::-1],
print "\b"

第一行我们引入sys模块,变量sys.argv包含传递到Python解释器的参数,包括脚本名称。
sys.argv列表中第一个元素是脚本名(xx.py),后面的元素为参数。
第三行使用for循环,for i in sys.argv[:0:-1]表示每次循环,i依次为sys.argv[:0:-1]列表中的元素(倒序的参数)
第四行print i[::-1]倒着输出这个参数,加”,”表示输出之后空格,而不是换行
第五行print”\b”,\b转义为退格,可以去掉最后多出的一个空格

试试从cmd上传入参数运行:
这里写图片描述
我们得到了想要的结果。

再来看看下一个程序:输入一个字符串实现跳两个字符输出

x = raw_input()
print x[0::3] + x[1::3] + x[2::3]

第一行 x = raw_input() 表示将输入的内容以字符串传给变量x
下一行,利用分片和序列相加,就可以轻松把一个字符串跳两个字符输出。

运行如下
这里写图片描述
这只需两行代码就能实现,看起来不可思议。如果对python进一步了解,你会发现更多惊喜,除了用C语言那样繁琐的代码,竟然还有这样简单的方法。

今日的Python之旅就到这里啦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值