python入门(二)

流程控制

pass 占位符,我们可以使用pass来临时占位,来使语句完整。

[root@salt-minion-node3 tools]# cat c.py

#!/usr/bin/env python

#coding:utf-8

name=raw_input(":")

if name == "zhangtie":      值对比,内存地址对比

    print "chenggong"

else:

print "shibai"

 

 

[root@salt-minion-node3 tools]# cat c.py

#!/usr/bin/env python

#coding:utf-8

name=raw_input(":")

if name == "zhangtie":

    print "1"

elif name == "tie":

    print "2"

elif name == "zhang":

    print "3"

else:

    print "shibai"

 

 

python是靠缩进来区分代码块的,级别是靠缩进来区分的,注意不同级别的缩进

 

[root@salt-minion-node3 tools]# cat c.py

#!/usr/bin/env python

#coding:utf-8

import getpass

name=raw_input(":")

pwd=getpass.getpass("请输入密码:")

if name == "zhangtie" and pwd =="123":

    print "1"

else:

    print "shibai"

[root@salt-minion-node3 tools]#

 

死循环

While True:

 

 

退出break

例1:

while True: 
    input_age=int(input("input mima:")) 
    if input_age==19: 
        print ("bingo") 
        break 
    elif input_age > 19: 
        print ("xiao yi dian") 
    else: 
        print ("da yidian")

例2:

#!/usr/bin/env python 
#coding:utf-8 
age=19 
input_age=-1 
while age !=input_age: 
    input_age=int(input("input mima:")) 
    if input_age > age: 
        print ("da le") 
    elif input_age < age: 
        print ("xiao le") 
print ("binggo")
 
例3:
#!/usr/bin/env python 
#coding:utf-8 
age=19 
i=0 
while i < 3: 
    print i 
    input_age=int(input("input mima:")) 
    if input_age > age: 
        print ("da le") 
    elif input_age < age: 
        print ("xiao le") 
    else: 
        print ("binngo") 
        break 
 
    i+=1
#else 表示while条件不成立时,输入的内容,在上面break非正常退出时,不执行else 
else: 
    print ("too many retrys")
 

例4:for

age =19 
for i in range(3): 
    input_age=int(input("qing shuru nian ling:")) 
    if input_age==age: 
        print ("binggo") 
        break 
    elif input_age>age: 
        print ("da le") 
    else: 
        print ("xiao le") 
 
else: 
    print ("ni shuru de ci shu tai duo le ")


数据类型

查看数据类型  tpye(ob)

数字

整型

长整型   特别大的整数

                       

浮点型   3.14

 

    复数     Z=A+BJ

布尔值  True      Talse

          1  真    0  假

通过type查看数据的类型

>>> type(2**31)

<type 'long'>

 

>>> 0 == True

False

>>> 1 == True

True

字符串

用单引号,双引号,三个双引号引起来的表示字符串,

[root@salt-minion-node3 tools]# cat d.py      

#!/usr/bin/env python

#coding:utf-8

'''

name = 'i am %s,age %d' % ('zhangtie',70)

print name

'''

 

name = "i am {0},age {1}"

newname=name.format("alex",18)

print newname

[root@salt-minion-node3 tools]#

 

万恶的+号,我们在使用+的时候,用的空间比较大,每一部分会开辟一块内存空间 

切片

字符串是一个数组,可以将里面的内容一个一个拿出

下标,从0开始

[root@salt-minion-node3 tools]# cat d.py

#!/usr/bin/env python

#coding:utf-8

name = "alex"

print name[0]

print name[1]

print name[2]

print name[3]

[root@salt-minion-node3 tools]# python d.py

a

l

e

x

[root@salt-minion-node3 tools]#

长度

 

 [root@salt-minion-node3 tools]# cat d.py

#!/usr/bin/env python

#coding:utf-8    

name = "alex"

多少个字符

print len(name)                        统计字符串总字符数

 

print name[-1]     最后一个字符

[root@salt-minion-node3 tools]#

[root@salt-minion-node3 tools]# python d.py

4

 

移除空白

去除字符串两边的空格

[root@salt-minion-node3 tools]# vim d.py   

#!/usr/bin/env python

#coding:utf-8

name = "  alex  "

print name.strip()   去除两边的空格

print name.lstrip()   去除左边空格

print name.rstrip()   去除右边空格

 

分隔

>>> name = ("zhang,tie")

>>> name.split(',')   以逗号分隔

['zhang', 'tie']

集合

 

列表

中括号括起来的集合就是列表

切片

[root@salt-minion-node3 python]# cat f.py

#!/usr/bin/env python

#coding:utf-8

name_list = ['zhangtie','alex','eric']    #定义列表

print name_list[0]    #取第一个值

print name_list[1]

print name_list[2]

print name_list[-1]

[root@salt-minion-node3 python]# python f.py

nihao

zhangtie

zhangtie

alex

eric

eric

取部分

name_list=["zhang","tie","zhangtie","jock"] 
print(name_list[0:2]) 
#取一部分值,上面取的是0和1
 
name_list=["zhang","tie","zhangtie","jock"] 
print(name_list[1:])
从1到最后一个

取出元素的索引
 
name = ['zhang','tie','zhangtie',8,9,'liu','xin','liuxin',9] 
 #查看元素9,在列表中的个数 
 
print(name.count(9)) 
print(name.index(9)) #查看元素9,在列表中的索引号,只能查到第一个 
for n in range(name.count(9)): 
    name[name.index(9)]=999 #将9修改成999, 
print(name)
 
 
 
name = ['zhang','tie','zhangtie',8,9,'liu','xin','liuxin',9] 
 #查看元素9,在列表中的个数 
name2 = [3,6,99] 
 
print(name.count(9)) 
print(name.index(9)) #查看元素9,在列表中的索引号,只能查到第一个 
for n in range(name.count(9)): 
    name[name.index(9)]=999 #将9修改成999, 
name.extend(name2)  #合并两个列表print(name)
 
 

 

[root@salt-minion-node3 python]#

增加

#!/usr/bin/env python

#coding:utf-8

name_list = ['zhangtie','alex','eric']

name_list.append('seven')    增加

print name_list

修改列表后,不会在内存空间中重新分配空间

 

删除

#!/usr/bin/env python

#coding:utf-8

name_list = ['zhangtie','alex','eric']

del name_list[0]  

print name_list   

[root@salt-minion-node3 python]# python f.py

['alex', 'eric']

将列表转换成字符串

join

>>> name_list = ("zhang",'tie','alex')

>>> "_".join(name_list)

'zhang_tie_alex'

 

判断是否包含

>>> print name_list

('zhang', 'tie', 'alex')

>>> 'zhang' in name_list

True

>>> 'zhangtie' in name_list

False

>>> 

 

元祖

云祖不可修改,列表可修改

创建元祖

("alex","eric")  元祖

[“alex”,”eric”]  列表

>>> name_list2=("alex","eric")

>>> print name_list2

('alex', 'eric')

总结:

#切片,索引,长度,包含,循环

字符串(str)

    修改后重新开辟空间

列表(list)

    修改后不重新开辟空间(内存地址不怕)

元祖(tuple)              

         不允许修改

       字典

字典

dict,字典,键值对

每一个元素都是一个键值对,字典无序

自动去重,字典中可以嵌套字典,key值必须唯一

字典的键是独一无二的

Key—value

                       

例1:

创建字典

name = { 
    "zhang":"tie", 
    "liu":"xin", 
    371:{"age":27, 
         "name":"zhangtie" 
         }, 
    31:{"age":28, 
         "name":"zhangtie" 
         } 
}
字典中可以嵌套列表
Name 
print(name[31])  #打印输出,相应的值
print(name[31]["age"]) 
name[31]["age"]=30  #修改内容 
name[31]["qq"]=1234566 #添加内容,添加和修改其实一样,如果没有这个键就是添加,如果有就是修改 
print(name[31])
del name[31] 删除
 
for key in name: 
    print(key,name[key])
 

 

person = {

   "name":'alex',

   "age":18,

   "gender":'nan'

}

#person['name']

print person.values()

print person.keys()

print person.items()

for k,v in person.items():   #效率较低

    print k

    print v

print "======"

 

运算

运算符

描述

实例

+

加,两个对象相加

a+b输出结果

-

减,得到负数,或一个数减去另外一个数

a-b输出结果

*

乘-两个数相乘或是放回一个被重复若干次的字符串

a*b

/

除—x除以y

b/a

%

取模,放回除法的余数

b%a

**

幂—返回x的y次幂

a**b

//

取整除—返回商的整数部分

9//2 返回4

 

 

文本的基本操作

文件里面写内容和读内容

找到文件

    文件路径

打开文件

file

open

打开文件的模式有:

r,以只读的模式打开文件

w,打开文件只用于写入,会覆盖原来里面的内容

a,  打开一个文件,用于追加

w+,打开一个文件,用于读写

file (文件路径,‘w+’)

 

f=open("test.log","w")
f.write("zhang\n")
f.close()
清除原有内容,将新内容写入

f=open("test.log","a")
f.write("zhang\n")
f.close()

追加


f=open("test1.log","r")
'''
print(f.readlines())   #是一个列表,
for n in f.readlines():  #把列表中的内容取出来,赋值给n
    print(n.strip())    #去掉换行和空白
    if n.strip() == "tie":
        print("chenggong")
'''
print(f.read())
f.close()

 

f=open("lock.txt","r")
lock_list=[]
for i in f.readlines():
    lock_list.append(i.strip("\n"))
f.close()

将文本中的内容转换为列表

 
 

'''写入
f=open("002.txt",'a')
f.write("zhangtie\n")
f.close()
'''

#读取
f=open("002.txt",'r')

'''
普通的读取
n=f.read()   #字符串
print(n.strip())  #去掉换行和空白,打印
i=f.readlines()  #列表,但我们不能直接使用,有换行符等
'''

'''
将文本中的内容写入到列表中,
i=[]   #定义列表,
for n in f.readlines():  #读取内容,f和f.readlines()都行
    i.append(n.strip("\n"))  #去掉换行,加入列表
    print(i)
'''

#将文本中,成对的内容加入字典中
f=open("0002.txt",'r')
i={}
for n in f.readlines():
  user,pwd=n.strip().split(",")
  print(user,pwd)
  i[user]=pwd
  print(i)
f.close()

转载于:https://www.cnblogs.com/zhang8tie/p/5623312.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值