设为首页 收藏本站
查看: 1680|回复: 0

[经验分享] python 学习之 PythonAdvance2

[复制链接]

尚未签到

发表于 2018-8-16 11:01:05 | 显示全部楼层 |阅读模式
#!/usr/bin/python  
#coding=utf-8
  
#循环设计
  
#范围函数
  
S = 'abcdefghijk'             #a b c d e f g h i j k
  
for i in range(0, len(S), 2):#0 1 2 3 4 5 6 7 8 9 10 11
  
    print S
  
print len(S)
  
#遍历数组
  
S = 'abcdefghijk'
  
for (index, char) in enumerate(S):
  
    print index
  
    print char
  
#多个等长的序列
  
ta = [1, 2, 3]
  
tb = [9, 8, 7]
  
tc = ['a', 'b', 'c']
  
for (a, b, c) in zip(ta, tb, tc):
  
    print(a, b, c)
  
#分解聚合
  
ta = [1,2,3]
  
tb = [9,8,7]
  
# cluster
  
zipped = zip(ta,tb)
  
print (zipped)
  
# decompose
  
na, nb = zip(*zipped)
  
print(na, nb)
  
#循环对象
  
f = open('test.txt')
  
f.next()
  
f.next()
  
f.next()
  
f.next()
  
f.next()
  
f.next()
  
f.next()
  
for line in open('test.txt'):
  
    print line
  
#生成器
  
def gen():
  
    a = 100
  
    yield a
  
    a = a*8
  
    yield a
  
    yield 1000
  
for i in gen():
  
    print i
  
def gen():
  
    for i in range(4):
  
        yield i
  
G = (x for x in range(4))
  
#表推导
  
L = []
  
for x in range(10):
  
    L.append(x**2)
  
print L
  
L = [x**2 for x in range(10)]
  
print L
  
#函数对象
  
#lambda函数
  
func = lambda x,y: x + y
  
print func(3, 4)
  
def func(x, y):
  
    return x + y
  
print func(3, 4)
  
#函数作为参数传递
  
def test(f, a, b):
  
    print 'test'
  
    print f(a, b)
  
test(func, 3, 5)
  
def U(a, b, c):
  
    print 'U'
  
    print a(b, c)
  
U(func, 5, 6)
  
#map()函数,map()的功能是将函数对象依次作用于表的每一个元素
  
re = map((lambda x:x+3),[1, 2, 3, 5, 6])
  
print re
  
re = map((lambda x,y: x+y),[1,2,3],[6,7,9])
  
print re
  
#filter()函数,如果函数对象返回的是True,则该次的元素被储存于返回的表中
  
def func(a):
  
    if a > 100:
  
        return True
  
    else:
  
        return False
  
print filter(func, [10, 56, 101, 500])
  
#reduce()函数,reduce可以累进地将函数作用于各个参数
  
print reduce((lambda x, y: x + y), [1, 2, 3, 4,9])
  
#错误处理
  
re = iter(range(5))
  
try:
  
    for i in range(100):
  
        print re.next()
  
except StopIteration:
  
    print 'here is end ',i
  
print 'HaHaHaHa'
  
'''
  
re = iter(range(5))
  
for i in range(100):
  
    print re.next()
  
print 'HaHaHaHa'
  
try:
  
    print(a*2)
  
except TypeError:
  
    print("TypeError")
  
except:
  
    print("Not Type Error & Error noted")
  
def test_func():
  
    try:
  
        m = 1/0
  
    except NameError:
  
        print("Catch NameError in the sub-function")
  
try:
  
    test_func()
  
except ZeroDivisionError:
  
    print("Catch error in the main program")
  
print 'Lalala'
  
raise StopIteration('this is error')
  
print 'Hahaha'
  
'''
  
#动态类型
  
a = 3
  
a = 'au'
  
print a
  
a = 5
  
b = a
  
a = a + 2
  
print a
  
print b
  
L1 = [1, 2, 3]
  
L2 = L1
  
L1 = 1
  
print L1, L2
  
L1 =[1, 2, 3]
  
L2 =L1
  
L1[0] = 10
  
print L2
  
#从动态类型看函数的参数传递
  
def f(x):
  
    x = 100
  
    print x
  
a = 1
  
f(a)
  
print a
  
def f(x):
  
    x[2] = 100
  
    print x
  
a =[1, 2, 3]
  
f(a)
  
print a
  
xl =[1, 3, 5]
  
yl =[9, 12, 13]
  
L = [x**2 for (x,y) in zip(xl, yl) if y > 10]
  
print L
  
#通过参数传递,判断数字、字符串、list、tuple、词典等数据类型是否为可变数据对象
  
a = 2
  
b = '啊哈'
  
c = [1, 2, 3]
  
d = (1, 2, 3)
  
e = {'tom': 11, 'sam': 57, 'lily': 100}
  
def num(x):       #数字
  
    x = 100
  
    print x
  
num(a)
  
print a
  
def str(x):        #字符串
  
    x = 'ade'
  
    print x
  
str(b)
  
print b
  
def list(x):        #list
  
    x[0] = 100
  
    print x
  
list(c)
  
print c
  
def tuple(x):       #tuple
  
    x[0] = 100
  
    print x
  
    tuple(d)
  
    raise StopIteration()
  
print d
  
def dic(x):         #词典
  
    x['tom'] = 100
  
    print x
  
dic(e)
  
print e



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552591-1-1.html 上篇帖子: python fabric使用 下篇帖子: python set以及关系测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表