oldboy_09_03day

1、split 分割

2、内置函数  

__name__ ------- 主动执行还是被其他程序调用; 本程序内 __name__ 值为 __main__ ;其他程序调用时,__文件名__

 __file__ ======当前文件路径、是文件的相对路径

__doc__ ======当前程序说明文档

3、函数 def、形式参数

 

def test( a,*b):

    print a , b

*b形参数 不限制参数个数 ---

test('1', '2','3')

 

* 代表可以参数一个元组(2,3)

 

def test1(a,b,c):
print a,b,c
test1('1', '2', '3')

 

def test2(a,b,*c):
print a,b,c

 


d=('1','2','3')

 

f=test2('4', '5',d)
k={'a':1,'b':2,'c':3}

 

def test3(a,b,**c):
print a,b,c

test3(31, 32,c='1',d='2')

def test(a,**b)

** 代表可以传入 一个字典;

def 默认值

def test5(a,b='test5')

  print a,b

4、函数局部变量

test1='ceshi' 

def a():

  print test1

def b():

  test1='insite ceshi'

def c():

  golbal test1 #引用全局变量 test1  

 

testoutsit='outsite_ceshi'

def intest():

print testoutsit

def intest1():

testoutsit='insitetest'
print testoutsit

def intest2():
global testoutsit
testoutsit='changeinstie'
print testoutsit
intest()
intest1()
intest2()
print testoutsit



 5、return

def back():

  for i in range(20):
      print i

      if i==10 :
      return i
  else:
      print i

a=back()
if a==10:
print 'return ok!'

 return 整个函数跳出函数执行

得到一个数值,或者返回一个结果

一般return 写在结尾;

#a=11>6 ? True:False   (三步运算符)

 ceshi='tr' if 2>1 else 'fl' 

print ceshi

和 if ,else  一样 

if  11>6:

  a=Trun

else:

  a=False

 =================

6.1 lambda 函数

lambda x,y:x+y

6.2 with---as :

with    as 方便打开文件 ,给了文件打开;和close,

with open (file.txt ,'r') as f:   # with open 做了两个动作 1、打开文件 2、file.close 

 

 

 

6.3、bool  布尔值 ;python 内置函数

print bool('') - -------- print 为 flase

print bool('date')  ----- print 为True 

为空 布尔值 都为假;不为空  布尔值都为真

 

6.4 yield 迭代器

保存函数的执行状态;执行一半跳出;后可再进行执行

 大数据读取;

def readfile():
tel=0
while True:
with open('E:\licence.py','r') as f:
f.seek(tel)
date=f.readline()
if date:
tel=f.tell()
yield date
else:
return


files=readfile()
date1=files.next()
date2=files.next()
date3=files.next()
date4=files.next()
date5=files.next()
print date1,date2,date3,date4,date5

print '=================='
date1=files.next()
date2=files.next()
date3=files.next()
date4=files.next()
date5=files.next()

print date1,date2,date3,date4,date5
print '====================='

for i in files:
print i

 

 

 

 

6.5 range 、xrange效率更高 (xrange 也是迭代器,一行一行的返回,只记录开始和结尾)

 

 

 

6.6 内置函数

1、dir()

显示当前文件中所有变量名称

2、vars()

当前文件中所有变量名称及值

3、reload() 和import 都是引入别的文件;

reload 重新加载模块 ;import 只执行一次;

import   

import

reload

reload

当配置文件被修改;不重启服务时,重新reload

4、id()

id(2)或者 id(c)

打印的是2或者c在内存中的地址

5、cmp 进行比较

cmp(2,10)小于 返回 ‘-1’

cmp (10,2) 大于 返回 ‘1’

cmp (10,10)  等于 返回 ‘0’

6、abs 绝对值

abs(-1)

7、divmod()除 取商和余数

divmod(10,4)

8、max()

max 列表也可以取最大

max([1,2,3,4,6,20]) max(1,2,3,)

9、min () 比较最小

10、sum() 求和

11、pow()幂

pow(2,4)2的4次方

12、len()统计字符串长度

13、all()  全&,全部为真,才为真

#web 前端登录  user pass info 全为真;为真

print all('1','c',none)

14、any() 只要有一个为真,就为真

print any('1','c',none)

15、chr()ASICC 码对应的位置

16、ord()asics 码对应的数值

17、hex()转化为16进制 oct()八进制bin()二进制

0X是16进制的开始

0 是8进制

0b 是二进制的开始

18、.format 

 

19、zip 把列表列表压缩到列表中

 x=[1,2,3]

y=[4,5,6]

z=[7,8,9]

zip(x,y,z)

20、map()

lamdba 匿名函数 可与定义 lambda x:x+1 ; 定义匿名函数x,函数意义 x+1 ;ruturn x+1值

map(lambda x:x+1,[3,4,5]) 

def fun(x):
return x+1

a=fun(2)
print type(a)
print map(fun,[20,30])

map 遍历列表[3,4,5] 添加到函数 jia的中进行处理,并返回

引用函数是引用函数的名字

def fun1(x):
return x+1

c=[1,2,3,4,5,6,7,8,9,10]
a=fun1(2)
print type(a)
print 'this is map %s'%(map(fun1,c))
print 'this is map lambda %s'%(map(lambda x:x+1, c))

22、filter()

filter (lamdba x:x>5 ,[3,4,5,6,7,8] )

def fun2(a):
return a>6

print 'this is filter %s' %(filter(fun2,c))

print 'this is filter lambda%s'%(filter(lambda x:x>5, c))

只是过滤;

23、reduce()累计 加入下次计算

reduce(lambda x,y:x+y ,[1,2,3,4,5,6])

def fun3(x,y):
return x+y

print 'this is reduce %s' % (reduce(fun3, c))


print 'this is reduce lambda %s'%(reduce(lambda x,y:x+y,c))

 

 

只能传进去2个值

24、random 随机验证码

练习

25、MD5 加密

import md5
ceshi=md5.new()
print dir(md5) 查看md5的方法

print vars(md5) 查看md5 的方法和值

验证是,md5 加密一次 再去数据库验证

import md5
ceshi=md5.new()
#print dir(md5)
#print vars(md5)
ceshi.update('userpasswd')
print ceshi.hexdigest()

 

26、re python正则表达式

import re

dir(re)

a=‘ceshi,name,dfsdndsfsdnn’

a1=re.match(‘c.*’,a)'.' 代表任意字符 ‘*’ 代表出现0次或者最多  # match 必须是字符串 开头匹配

print a.group

b=re.search('e.*',a) 整个字符串检索一遍;进行匹配

c=re.search('e,*d',a) 匹配从e到d 

d=re.findall('n.',a) 所有的全部查找 防到一个列表中;

f=re.split ('n.',a) 字符串 按照表达式进行分割;剩下的放到一个表中

g=re.sub(‘n.’,'ww',s)查找后替换 查找n 替换为ww;在s 中查找

k=h[a-z]o

k1=h[a|b|c]0 匹配 hao 或者hbo或者hco   ‘|’ 竖线 是或的意思

正则表达式获取网址、ip、手机号、邮箱

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import re
import sys

def getIPAddFromFile(fobj):
regex = re.compile(r'\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b', re.IGNORECASE)
ipadds = re.findall(regex, fobj)
print ipadds
return ipadds

def getPhoneNumFromFile(fobj):
regex = re.compile(r'1\d{10}', re.IGNORECASE)
phonenums = re.findall(regex, fobj)
print phonenums
return phonenums

def getMailAddFromFile(fobj):
regex = re.compile(r"\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b", re.IGNORECASE)
mails = re.findall(regex, fobj)
print mails
return mails

def getUrlFromFile(fobj):
regex = re.compile(r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+", re.IGNORECASE)
urls = regex.findall(fobj)
print urls
return urls

def main(FilefilePath):
fobj = open(FilefilePath, 'rb').read()
urllist = getUrlFromFile(fobj)
mailList = getMailAddFromFile(fobj)
phoneNum = getPhoneNumFromFile(fobj)
ipaddlist = getIPAddFromFile(fobj)

if __name__ == '__main__':
main(sys.argv[1])

 

======================

rn=r'[0-9]+(?:\.[0-9]+){3}' #匹配IP地址 

 

26、序列化和json

内存中的数据保存

字典等不能直接写入到文件中

序列化  内存中的类型转化为字符串存储到硬盘;

    读入中通过序列化读取回来

 

import pickle

dir(pickle)

pickle.dump

pickle.load

f=file('dump.txt','w')

import os
import pickle as p
c={'a':1,'b':2,'c':3}
#with open('dumpfile','wb') as f:

f=open('dumpfile','w')

p.dump(c,f)

f.close()

e=open('dumpfile','r')
c=p.load(e)
print c
print os.system('dir')

======================

内存数据交换 通过pickle.dumps;发送过去;对端pickle.load

 

json 通用存储;各种编程语言都能读取;内存数据转化为字符串

json 只能序列化常用的数据类型 (字符串、列表、字典、元组、等; ) python 的类 、函数、等不能被序列化

 

unicode 和 utf-8 的相互转换

s='abc'

print type(s)

s=u'abc'
print type(s)
s=s.encode('utf-8')
print type(s)

 

转载于:https://www.cnblogs.com/zhzhao/p/4525505.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1952. 三除数

文章目录1. 题目2. 解题1. 题目 给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。 如果存在整数 k ,满足 n k * m ,那么整数 m 就是 n 的一个 除数 。 示例 1: 输入&#xff…

Java充电宝模型设计_继续探讨点赞功能模块设计

继续探讨点赞功能模块设计前几天我们设计了点赞模块的模块,大致思路就是:用户点赞,首先缓存到redis中进行保存,redis中既要保存点赞总数,还要保存点赞记录。然后定时执行redis数据到数据库中。但是,今天在资…

python可变参数函数二阶导数公式_python中函数的可变参数

简介 INTRODUCTION一、【其实已经用过】可变参数 二、可变参数普通参数 结合用法1 三、知识要点总结强调知识回顾:1.函数关键字参数2.函数的参数的默认值。必须从右边写到左边。一、【其实已经用过】可变参数回顾系统自带的可变参数函数print#系统自带的可变参数函数…

mysql root用户密码个性

对名为“mysql”数据库下的表“user”进行操作如下语句:update user set passwordPASSWORD("your_password") where user"root"转载于:https://www.cnblogs.com/netcorner/p/4529613.html

LeetCode 1957. 删除字符使字符串变好

文章目录1. 题目2. 解题1. 题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 。 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 。 请你返回删除后的字符串。题目数据保证答案总是 唯一的 。 示…

广度优先遍历_LeetCode | 广度优先遍历

阅读本文大约需要 4 分钟概述前言429 N 叉树的层次遍历 90.36%102 二叉树的层次遍历 99.76%后记前言不管经济多不好,提高自身硬实力才是关键。本文由一个骚包程序猿zone7撰写,欢迎关注。429 N 叉树的层次遍历 90.36%给定一个 N 叉树,返回其节…

c写成php的扩展_用C语言编写PHP扩展

1:预定义vi myfunctions.defstring self_concat(string str, int n)2:到PHP源码目录的ext目录#cd /usr/local/php-5.4.0/ext/执行命令,生成对应扩展目录#./ext_skel --extnamecaleng_module --proto/home/hm/caleng_module.def./ext_skel --e…

LeetCode 1958. 检查操作是否合法(模拟)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的 8 x 8 网格 board ,其中 board[r][c] 表示游戏棋盘上的格子 (r, c) 。 棋盘上空格用 . 表示,白色格子用 W 表示,黑色格子用 B 表示。 游戏中每次操作步骤为:选择一个空格…

php获取周几,php怎么获得星期几

php怎么获得星期几2021-03-07 15:06:02php获得星期几的方法:首先创建一个PHP示例文件;然后定义一个数组;最后通过“echo "星期".$weekarray[date("w")];”方式获得星期几即可。本文操作环境:Windows7系统、PH…

电脑假死卡的动不了_最近遇到奇怪电脑问题(实战篇)

点击蓝字关注我们话不多扯,说事最近遇到奇怪电脑问题装的是7系统32位开机可以进入系统插着网线开机,就假死拔掉网线开机,正常,然后插上网线依旧正常再带着网线关机,开机后又成假死假死后拔下网线依旧恢复不了必须是不插…

HTTP Post

// testHttp003.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h"// webrequest.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <string> #include <fstream> #include <winsock2.h> #include <std…

LeetCode 1961. 检查字符串是否为数组前缀

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s 和一个字符串数组 words &#xff0c;请你判断 s 是否为 words 的 前缀字符串 。 字符串 s 要成为 words 的 前缀字符串 &#xff0c;需要满足&#xff1a;s 可以由 words 中的前 k&#xff08;k 为 正数 &#xff09;个字符…

php怎样加速,php 提速

php 提速2007-08-13 10:06这篇杂文翻译整理自网络各路文档资料(见最末的参考资料)&#xff0c;尤其是 Ilia Alshanetsky (佩服之至) 在多个 PHP 会议上的演讲&#xff0c;主要是各类提高 PHP 性能的技巧。为求精准&#xff0c;很多部分都有详细的效率数据&#xff0c;以及对应的…

ios UIScrollView 基础属性

转 UIScrollView 原理 在滚动过程当中&#xff0c;其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件&#xff0c;那么 scroll view 发送 tracking events 到被点击的 subview。假如在计时器到点前发…

LeetCode 1962. 移除石子使总数最小(优先队列)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 piles &#xff0c;数组 下标从 0 开始 &#xff0c;其中 piles[i] 表示第 i 堆石子中的石子数量。 另给你一个整数 k &#xff0c;请你执行下述操作 恰好 k 次&#xff1a; 选出任一石子堆 piles[i] &#xff0c;并从中 移除…

ubuntu自定义安装里怎么选_中央空调到底应该怎么选?小户型也能安装中央空调?行家说实话了...

▲ 点击蓝字“建通舒适家”&#xff0c;你想知道的空调问题&#xff0c;答案全在这里啦&#xff01;中央空调到底应该怎么选&#xff1f;小户型也能安装中央空调&#xff1f;行家说实话了现在业主装修大多都是对中央控空调一知半解&#xff0c;出现很多种的情况就是&#xff1a…

php辅助框架,【PHP开发框架】Laravel框架中辅助函数:optional ()函数的介绍

laravel框架中的辅助函数有很多&#xff0c;那么&#xff0c;在 Laravel 新版本中又有什么非常好用的辅助函数呢&#xff1f;接下来的这篇文章中&#xff0c;ki4网将给大家介绍一个非常有用的辅助方法&#xff1a;optional()函数&#xff0c;这个函数的用处到底是什么呢&#x…

python 清除字符串中的 emoji 表情

https://pypi.org/project/emoji/ pip install emoji字符串中间有 emoji 表情&#xff0c;替换掉。 text "&#x1f430;贝贝有点甜&#x1f430;" res emoji.demojize(text) # :rabbit_face:贝贝有点甜:rabbit_face:# 正则表达式替换为 r"想换的字符串&quo…

Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键

这是本人测试的经过&#xff0c;纯粹记录来看看&#xff0c;最终解决方法在最后面&#xff0c;中间讲的是遇到的一些坑&#xff0c;可以略过不看&#xff01;&#xff01; 本人操作经验&#xff0c;转载请表明出处&#xff1a;http://www.cnblogs.com/huangjc/p/4536620.html L…

三角形css_纯 CSS 实现绘制各种三角形(各种角度)

一、前言三角形实现原理&#xff1a;宽度width为0&#xff1b;height为0&#xff1b;&#xff08;1&#xff09;有一条横竖边&#xff08;上下左右&#xff09;的设置为border-方向&#xff1a;长度 solid red&#xff0c;这个画的就是底部的直线。其他边使用border-方向&#…