python学习之——split()、pop()、sorted()、range()、join()、randint()和exit()

1、split():通过指定分隔符对字符串进行切片
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。
返回值
返回分割后的字符串列表。

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
str = "I love this world"
print(str.split())
print(str.split(' '))
print(str.split(' ',1))
print(str.split('\t'))

控制台输出结果:
在这里插入图片描述
2、pop():删除位置元素(默认删除-1位置)
pop(-1)删除最后一个元素
pop(0)删除第一个元素

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
a = ['a','b','c']
b = ['d','e','f']
x = ['1','2','3','4']
# pop的命令,其有返回值,可赋值带出
c = a.pop() #默认删除-1位置元素'c',并将删除元素返回值赋值
d = b.pop(0) #删除0位元素'd',并将删除元素返回值赋值
e = b.pop(-1)
f = x.pop(-2)
print(" a的值:%s\n b的值:%s\n c的值:%s "
      "\n d的值:%s\n e的值:%s\n f的值:%s\n x的值:%s")%(a,b,c,d,e,f,x)

控制台输出结果:
在这里插入图片描述
3、sorted() 给list排序
sorted()会返回一个新的list,不会改变原来的list顺序
sorted 语法:
sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
a = [5,7,6,3,4,1,2]
b = sorted(a)
print(a)
print(b)

L=[('b',2),('a',1),('c',3),('d',4)]
print(sorted(L,cmp=lambda x,y:cmp(x[1],y[1])))   #利用cmp函数
print(sorted(L,key=lambda  x:x[1]))              #利用key

student=[('john','A',15),('jane','B',12),('dave','B',10)]
print(sorted(student,key=lambda s:s[2]))         #按年龄排
print(sorted(student,key=lambda s:s[2],reverse=True))#按年龄降序排

控制台输出结果:
在这里插入图片描述
4、range()函数可创建一个整数列表,一般用在 for 循环中。
函数语法
range(start, stop[, step])
参数说明:
range(5)=range(0,5)=range(0,5,1)
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
print(range(10))
print(range(1,10))
print(range(1,10,3))
print(range(0,-10,-1))
print(range(2,5))

控制台运行结果:
在这里插入图片描述
range 在 for循环 中的使用:

x = 'apple'
for i in range(len(x)) :
    print(x[i])

在这里插入图片描述

elements = []
# 然后使用范围函数执行0到5个计数
for a in range(0, 3):
    print "Adding %d to the list." % a
# append() 方法用于在列表末尾添加新的对象。
    elements.append(a)
    print(elements)

在这里插入图片描述
5、join()用于将序列中的元素以指定的字符连接生成一个新的字符串。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );

在这里插入图片描述
str.join(元组、列表、字典、字符串) 之后生成的只能是字符串。

所以很多地方很多时候生成了元组、列表、字典后,可以用 join() 来转化为字符串。

list=[‘1’,‘2’,‘3’,‘4’,‘5’]
print(’’.join(list))
结果:12345

seq = {‘hello’:‘nihao’,‘good’:2,‘boy’:3,‘doiido’:4}
print(’-’.join(seq)) #字典只对键进行连接
结果:hello-good-boy-doiido

stuff=[‘Apples’,‘Oranges’,‘Crows’,‘Telephone’,‘Light’,‘Sugar’,‘Boy’]
print ‘#’.join(stuff[3:5])
结果:Telephone#Light

6、randint()用于生成一个指定范围内的整数
需要导入from random import randint
random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20
print random.randint(20, 20) #结果永远是20
#print random.randint(20, 10) #该语句是错误的。下限必须小于上限。

from random import randint
print "请输入三位密码,每一位都是1到9的随机数字"
code = "%d%d%d" % (randint(1, 9), randint(1, 9),randint(1, 9))
guess = raw_input("[keypad]> ")
guesses = 0
while guess != code and guesses < 10:
    print "BZZZZEDDD!"
    guesses += 1
    guess = raw_input("[keypad]> ")
if guess == code:
    print "恭喜你,答对密码"
else:
    print "很遗憾你十次都没有猜对密码"

在这里插入图片描述
7、exit()
exit(0):正常运行程序并退出程序;

exit(1):非正常运行导致退出程序;

return():返回函数,若在主函数中,则会退出函数并返回一值。

8、__init __
__init __ 是一个特殊的初始方法,可以预设重要的变量在里边。

class one(object):
    def __init__(self):
        self.number = 0
    def some_function(self):
        print "I got called."
    def add_me_up(self, more):
        self.number += more
        return self.number
# two different things
a = one()
b = one()
a.some_function()
b.some_function()
print a.add_me_up(20)
print a.add_me_up(20)
print b.add_me_up(30)
print b.add_me_up(30)
print a.number
print b.number

9、getattr()用于返回一个对象属性值。
getattr 语法:

getattr(object, name[, default])
参数
object – 对象。
name – 字符串,对象属性。
default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
返回值
返回对象属性值。

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> getattr(a, 'bar')        # 获取属性 bar 值
1
>>> getattr(a, 'bar2')       # 属性 bar2 不存在,触发异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'bar2'
>>> getattr(a, 'bar2', 3)    # 属性 bar2 不存在,但设置了默认值
3
>>>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值