找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

ython第4天,内函数 引用其他模块

[复制链接]
一、内建函数
format  的基本格式:通过{} 和“:” 来替代之前的“%” 实现格式化字符串的函数,该函数增强的字符串格式化功能
format的有点:
1、格式化时无需考虑数据类型
2、使用format 可以实现参数多次输出,已经输出的位置可以进行控制



# 1、不设置参数的输出位置,则默认输出
# "{}{}".format('xx','xx')
# yy='{}{}'.format('hello','world')
# print yy
# 2、输出的时候可以控制参数输出的位置,
# 一个参数可以进行多次输出
# yy='{0}{1}{1}{1}{0}'.format('hello','world')
# print yy
# 3、可以设置参数
# yy='姓名:{name} 年龄:{age}'.\
#     format(name='xiaoliu',age=18)
# print yy
# 4、通过字典来设置参数,字典传入时需要带上2个*
# dic={'name':'xiaoliu','age':18}
# yy='姓名:{name} 年龄:{age}'.format(**dic)
# print yy
# 5、通过列表来传参,中括号前加0,这个0必须携带
list=['xiaoliu',18]
yy='姓名:{0[0]} 年龄:{0[1]}'.format(list)
print  yy


读取电脑内文件
注意:\\表示转译,尽可能多的用\\表示
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/ff336cf83c624352a2f689cc2185dc93/t1nivr5zllw9k%24obho%7D%24win.png

o=open('E:\yxwj\\123.txt','r')  #E:\yxwj是文件路径,注意路径不能有中文,里面内容也不能有中文,123.txt是文件名,r是读的意思
all=o.read()
print all
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/29e2b45ed6dc406b99c956b1af2ea90f/clipboard.png

俩种会一种就行
[img=620,0]C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/bfb76b9ca884445f8fe4fd284f45fccd/a1pzovciypt%7E6rkr48u@maj.png[/img]
有中文路径的情况下
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/5d9e0d603846476a86761cd9df6e5e52/%28lezwyni_a8%600egdoq1mvwr.png
这里是输出列表的情况下的转码     简便方法
q=open(unicode('E:\\yxwj\\432.txt','utf-8','utf-8'),'r')
w=q.read()
print w.decode('gbk')
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/f819140216bd4a27b64b356c9569c0e2/d@m5%7Bl@y%5D%29uy%24g7y2s%5Bddzu.png
输出字符的情况下需要也需要转码
path='E:\\yxwj\\432.txt'
newpath=unicode(path,'utf-8')
o=open(newpath,'r')
all=o.read()
print 1,all
print 2,all.decode('gbk')
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/5bbd5fcfbce340adadf8780a81043b26/clipboard.png

写的模式
替换掉原有内容写是'W'    如果要是追加那么就把‘w'  换成‘a’
[img=535,0]C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/45338ac07def4979a41d597eadea0bd0/xg%5Bg%60%291vg40m@an3w6mhl3i.png[/img]
s=open('E:\yxwj\\432.txt','w')    注意:输入这个的时候文件就已经被清空了
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/37e3639cf935410eace1df3803d8b542/clipboard.png
\n表示换行
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/0099aefb16c84b129149ca69e382ba51/clipboard.png




C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/0b067b78381643a29577a8dffefac89b/j3g4%5De6x%7E6mdflp88%7E%7Dq8%7D6.png

1、Python 常见的模块:json、random、time、hashlib、urllib、urllib2、requests、httplib、mysqldb、re、sys、os、socket
2、参数的调用:函数必须调用才能运行,可以在当前模块调用,也可以在其它模块中调用运行
3、Python中模块是如何导入的,模块中的函数(方法)是如何使用?
第一种:导入一个模块--->import +模块名
第二种:引用对应模块中的方法--->模块名.方法名
4、import time :直接导入模块名称
5、from time import sleep   :导入time中的sleep方法,后面使用时无需
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/9cdd5bd305b7459387299e0648cbb120/clipboard.png
调用模块的原因,因为很多函数只能在某些模块才有,你只有调用这个模块才能使用这些方法,不然就用不了
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/a3927c4b24214d2399246734155bbe17/clipboard.png



C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/972509c00c6d4b2e88550bdde837dace/fi%5D2_tw96anw@ve4q%7Ek%25xor.png
import random
list=['zenlong','zendalong','zengxiaolong','zhengshaz','xiaozengxhi']
print random.sample(list,2)
这个是从list里面抽2个随机显示,这类抽取是抽一个少一个,第1次抽了某个数,第2次就抽不到了
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/8355239827274346ab36995415375f43/u1ga4fi%7Do3var7%28_%7Ey6c5va.png

[img=317,0]C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/f8d6cd8fb9f446839d21b8ee54ff47c5/x6cr4%7Duq01%5D%7D5x0y9t@fsf1.png[/img]

导入加密模块
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/110ac76cda824632ac76dd383c2f1eeb/%7E%7El%29hz%7Du3ox%24x%5Ddf@%7B%25zsst.png

生成8为随机验证码
import  string
yy=string.digits+string.letters
#digits:代表0-9所有的整数
#letters:代表所有的大小写字母
# yy1='1234567890abcdefg'
list=[] #定义一个空列表来存储我们随机生成的验证码
str1=''
for i  in range(8):
    a=random.choice(yy)
    list.append(a)
dd=''.join(list)
kk=random.sample(yy,8)
nn=''.join(kk)
print dd
print nn




def v_code():
    code=''
    for i in range(8):
        add=random.choice([random.randrange(10),
         chr(random.randint(65,90))])
        code+=str(add)
        #(65,90)对应从"A"到"Z"的ASCII码
        #(97,122)对应从"a"到"z"的ASCCII码
    print code
v_code()

通用random模块,要求是拿到8位随机验证码,将random.randrange()和chr(random.randint())组合列表,然后通过random.choice方法随机选择列表中的元素,对add进行赋值,并且将add通过for循环8次添加到code中













分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册