Python之函数第三篇】的更多相关文章

一.匿名函数 匿名函数是lambda定义的没有名字的具有一些小功能的函数 具体形式是 lambda x: X**2 # 求平方操作 lambda x: x>100 # 判断参数是否大于100 二.内置函数 1) int(), float(), str(), list(), set(), tuple() 和 dict() 这些都是和类型相关的函数 2) map(), reduce() 和 filter() map()函数有两个参数, 一个是处理函数, 另一个是可迭代对象, map取出可迭代对象的元…
一.引言 什么?有了第二篇文件操作还不够?远远不够!而且在读完第三篇文件操作还是不够.关于文件的操作,后续的学习中将不断学习新的操作方式,使用更加合适的方法. 进入正题,上一篇讲到,Python对文件最基本的读取写入操作,都必须是字符串,所有的数据必须要转化成字符串写入,都出来的也全部都是字符串,这会给我们实际应用中造成一些困扰,上一篇文章讲述了如何使用eval()函数,但是也有局限性,比如:字符串格式稍有错误(结尾带有换行符\n)就会转换出错:写入文件之前在内存中的int型数据,写入读取仔ev…
set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def sendmail():     import smtplib     from email.mime.text import MIMEText     from email.utils import formataddr     #三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码     msg = MIMETe…
1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集.并集等操作. 1.2     常用操作: s = set([3,5,9,10]) # 创建一个数值集合 t = set("Hello") # 创建一个唯一字符的集合 a = t | s # 求 t 和 s 的并集 b = t & s # 求 t 和…
三元运算 三元运算,是条件语句的简单的写法.如果条件为真,则返回值1,否则,返回值2. ret = 值1 if 条件 else 值2 深浅拷贝 对于数字(int)和字符串(str)而言,赋值.深拷贝.浅拷贝都无意义,因为内存地址指向同一个. import copy # ######### 数字.字符串 ######### n1 = 123 # n1 = "i am a student" print(id(n1)) # ## 赋值 ## n2 = n1 print(id(n2)) # #…
set     无序,不重复,可嵌套. 函数     创建函数:     1.def关键字,创建函数     2.函数名     3.()     4.函数体     5.返回值 发邮件函数 def sendmail():     import smtplib     from email.mime.text import MIMEText     from email.utils import formataddr     #三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个…
set集合 s1=set() 集合特点: 访问速度快 没有重复项 collections系列(数据类型容器模块) 一.计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数. import collections 导入模块 例: import collections obj=collections.Counter("aaafffefwifewfewf") print(obj) Counter({'f': 7, 'a': 3, 'w': 3, 'e': 3, '…
这里我们创建一个python(pytest)脚本用于学习测试(以后都为这个文件,不多做解释喽),这个文件必须要有执行权限的哈 1.创建pytest并赋予执行权限 [root@fengyuba_server py]# touch pytest [root@fengyuba_server py]# chmod +x pytest 2. 基本输出“print” [root@fengyuba_server py]# vim pytest #指定python可执行程序路径 #!/usr/bin/pytho…
迭代器 一.迭代的概念 迭代:1 重复2 下一次重复是基于上一次的结果 l=['a','b','c','d'] count=0while count < len(l): print(l[count]) count+=1 #循环本身就是一个迭代的过程! '''python为了提供一种不依赖于索引的迭代方式,python会为一些对象内置__iter__方法obj.__iter__称为可迭代的对象''' obj.__iter__() 得到的结果就是迭代器 得到的迭代器:既有__iter__又有一个__…
2019.4.10 S21 day10笔记总结 一.内容回顾 1.面试题相关: 1.py2和py3的区别 2.运算符的计算 :3 or 9 and 8 3.字符串的反转 4.is和==的区别 5.v1 = (1) v2 = 1 v3 = (1,)有什么区别 v1 .v2都是数字,v3是元组 6.线上操作系统:centos 7.每种数据类型,列举你了解的方法 8.深浅拷贝 9.文件操作,大文件如何读取内容(如50G的日志文件) v=open(--) for line in v: ​ print(l…
2019.4.9 S21 day09笔记总结 一.三元运算 三元运算又叫三目运算.(是为了赋值的) v = 前面 if 条件 else 后面 #条件为真,v取if前面的值:条件为假,v取if后面的值 # 三元运算是if条件判断的简化版 if 条件: v = '前面' else: v = '后面' 练习题 # 让用户输入值,如果值是整数,则转换成整数,否则赋值为None data = input('>>>') value = int(data) if data.isdecimal() el…
一.基本数据类型1.字符串 str字符串方法介绍(二)a --expandtabs( ) expandtabs( ) 把字符串中的 tab 符号('\t')转为空格参数默认为8,注意字符串原有的空格也参与计算长度 test = "LinGou\tLinGengxin" v1 = test.expandtabs( ) #这里是根据字符串的长度计算,expandtabs( )默认为8,执行方式如下 #"LinGou\tLinGengxin" #LinGou是6个字符,此…
1,函数多类型传值和冗余参数 2,递归函数 1,函数多类型传值和冗余参数 1.0,函数多类型传值 定义1个函数, def fun(x,y): return x+y 调用该函数print fun(1,2),返回3.但是有一种情况,我就想输入一个参数,是否可行?当然,可以考虑使用默认参数.但是除了默认参数我们还可以传入一个元祖,就能完成相当于传入2个参数的效果. def fun(x,y): return x+y t=(1,2) print fun(*t) 上面的代码只是传入了一个参数,但是传入的是元…
说道这里我们需要稍微暂停一下.前面我们说到了类是作为一个对象存放容器.这个容器里面有属性和方法.最好的理解类的方式就是把类想想成一个容器. 然后构造了一个析构函数和构造函数,然后又对object和self进行了解释,最后又说了一下重写.我们发现类作为一个存放对象的容器,其类也是一个对象. 类也有自己的__main__,__init__,__class__等属性.我们发现了,越来越多的时候,在Python里面用了很多下划线来表示这些意思.下划线分双下划线和单下划线两种,一共又存在5中组合,这5中组…
1. 构造函数: 为什么要有构造函数? 打一个比方:类的创建就是好比你创建了好了一种格式的房间,你租给上一个住户的后,里面会对方很多“垃圾”和不规则的物品摆放.构造函数就是下一个住户再使用的时候进行物品的初始化摆放,防止下一个用户再使用的时候会出现没有初始化物品错放的错误等. 构造函数的格式: __init__( ): 注意:在使用创建对象的时候会自动调用,构造函数用于初始化类实例的状态.如果不显式的创建构造函数,默认会自动添加一个构造函数.其实由于没有本身都会带上这个构造函.但是还是要写上比较…
1. 设计一个类: 设计一个类主要从三个方面进行考虑: 第一:类名:类名要见名知意.首字母大写. 第二:属性. 第三:方法. 备注:在Python中有些东西并不是绝对化的事情,有些根据Python社区里面有些约定俗称的规定,在Python这种动态语言当中随处可见,比如像__._单双下划线的使用就是这个问题的一个体现. 2. 创建一个类: 类:一种数据类型,本身并不占内存空间,根据所学过的number.string.boolean等类似,用类创建实例化对象. 格式: class 类名(父类列表):…
1. 软件编程的实质: 软件编程就是将我们的思维转变成计算机能够识别语言的一个过程.重要的是思想,代码技术反而次要.因此思想也是最难的,突破固定的思想是关键 2. 什么是面向过程: * 自上而下顺序执行,逐步求精. * 程序结构是按照功能划分成若干个基本模块,这也是一种树状结构. * 各个模块之间的关系尽可能简单,在功能上又相对独立. * 每一个模块内部结构是由顺序.选择.循环三种基本结构. * 模块化实现的方法是使用子程序. * 程序流程是在写程序时就已经决定了. 3. 什么是面向对象? *…
Python基本之文本操作 一.初识文本的基本操作 在python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 1.open形式 一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认]…
整型 int __author__ = 'Tang' # 将字符串转换为数字 a = " b = int(a) # 前面是0的数转换,默认base按照十进制 a = " b = int(a) # 通过base,按照指定进制转换为十进制 a = " b = int(a,base=16) c = int(a,base=8) # bit_length() 表示这个数字的二进制至少用几位来表示 a = 15 b = 16 c = a.bit_length() d = b.bit_le…
一.快速启动一个web下载服务器 官方文档:https://docs.python.org/2/library/simplehttpserver.html 1)web服务器:使用SimpleHTTPServer,快速帮我们共享指定目录下内容. 各种Linux发行版通常都内置了Python,故使用此方法非常方便.在其它OS(比如Windows)此方法也有效,但是要麻烦一些,必须先搭建Python环境. SimpleHTTPServer是Python 2自带的一个模块,是Python的Web服务器.…
Number(数字) int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or…
1. if 条件语句   语法: if 条件: 代码块 # 条件为真执行 else: # else 可选 代码块 # 条件为假执行   示例: n = int(input('请输入一个数字:')) if n > 0: print('%s 大于 0' % n) else: print('%s 小于 0' % n)   if 语句支持嵌套: if 条件: if 条件: 代码块 else: 代码块 else: 代码块   多条件判断 if - elif - else   当有多个条件时,总是用 if…
1.数字类型 int 整数 1 2 3 float 浮点数 1.1 0.9 0.99 complex 复数 (2+0j) str 字符串 'hello world' "hello world" list 列表 ["hello world",1,2,3,{"name":"liuwei"},(1,2,3,4)] tuple 元组 (1,2,3,4,5,"hello world",) dict 字典 {"…
1. 限制访问的问题: 如果学过C# 语言的我们可以知道C# 语言有get和set方法.我们之前想要获取父类中的私有变量,只能通过写一个set和get的函数进行访问或者通过类生成的新关键字来访问私有属性(_类名__私有变量).其实Python也给我们提供了一种get和set的方法.其内容就是一种装饰器的作用,采取@property和@变量名.setter的方式. 举例说明1: # 属性直接对外暴露 # 不安全,没有熟虑过滤 # 使用限制访问的话,需要些set和get方法. from types…
1. 重载: overloading:就是将函数重新定义一遍. 1.1 __str__( )和__repr__( )的重载: 格式: __str__( ):在调用print打印对象时自动调用,是给用户用的,是一个描述对象的方法. __repr__( ):给机器用的,在Python解释器或者在cmd的黑屏终端里面输入,注意在没有str时,且有repr,str = repr,其实本事就是打印类本身想要实现的属性. 举例说明1: class Person(object): def __init__(s…
变量 声明变量 #!/usr/bin/env python name = "Bourbon" 上述代码声明了一个变量,变量名为:name,变量的值为:"Bourbon" 变量的作用:变量有着标识的意义,其代指内存里某个地址中保存的内容 变量定义的规则: ·变量名只能是字母.数字或下划线的任意组合 ·变量名第一个字符不能是数字(但可以使用"_"开头)并且变量名中不能出现空格 ·一下关键字不能声明为变量名: ['and', 'as', 'assert…
运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 class int(object): """ int(x=0) -&…
import requests import os url = 'http://imgsrc.baidu.com/forum/w%3D580%3B/sign=749ed018cecec3fd8b3ea77de6b3d63f/83025aafa40f4bfb3661b3800e4f78f0f63618b4.jpg' root_path = r'D:\picture\zhaoliying' #利用split()函数获取url最后的文件名 img_name = url.split('/')[-1] i…
适用的图片网站:美桌 源代码: import requests import re import urllib from bs4 import BeautifulSoup def get_html_text(url): ''' 获取网址url的HTML代码,以字符串形式返回html代码 ''' try: res = requests.get(url, timeout = 6) res.raise_for_status() res.encoding = res.apparent_encoding…
一.运算符 1.算术运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 二.基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 2.布尔值bool true/false 1/0 3.字符串str "hello worl…