Pyhton学习——Day10】的更多相关文章

#################################################################################################################高阶函数的定义:#1.函数接收的参数是一个函数名#2.函数的返回值是一个函数名#3.满足上述条件的任意一个都可以称为高阶函数## import time# def foo():# time.sleep(3)# print('你好啊林师傅')## def test(func)…
一.昨日内容回顾 函数: 定义:对功能或者动作的封装 def 函数名(形参): 函数体 函数名(实参) return:  返回,当程序运行到return的时候,终止函数的执行 一个函数一定拥有返回值 1.什么都不写,返回None 2.只写return,返回None 3. return 值,返回一个值 4.return 值1,值2,值3...返回多个值 参数: 形参: 在函数声明的位置的变量 1.位置参数 2.默认值参数 顺序:位置>默认值 实参: 在函数调用的地方给出的值 1.位置参数 2.关键…
s12-20160319-day10 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin…
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclassmethod# def talk(self):# print('from Animal')# class People(Animal):#动物的形态之一:人# def talk(self):# print('from People')# class Dog(Animal):# def talk(se…
官方学习文档 https://docs.python.org/3/tutorial/…
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name='nester', version='1.0.0', py_modules=['nester'], author='hfpython', author_email='hfpython@headfirstlabs.com', url='http://www.headfirstlabs.com', d…
今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函数功能定义好了之后,根据主程序的需要随时调用该函数,需要一次就调用一次,而函数只有一个.让主程序代码结构更加清晰:便于维护,变更某功能只需要变更一次. 3.函数的四部分:函数名 调用函数的依据 函数体:完成功能的代码块 返回值:执行函数体后,一定会有一个结果,可以通过return将其值返回给外界.-…
一.默认参数的陷阱 先看如下例子: def func(li=[]): li.append(1) print(li) func() func() func(li=['abc']) func() 结果: 可以看到,默认参数不传值使用默认值时,多次调用函数li始终使用同一个列表. 如果默认参数是一个可变数据类型,每一次调用函数时,不传值就公用这个数据类型的资源. 使用pycharm写代码的时候,若在函数定义时将可变数据类型用作默认参数,pycharm会给出提示: Default argument va…
学习完线程,学习进程 进程和线程的语法有很多一样的地方,不过在操作系统中的差别确实很大. 模块是threading 和 multiprocessing 多进程multiprocessing multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local a…
今天开始了新一章的学习,前面的题目虽然做了几道,但是我觉得训练量仍然太小了.不过机试确实很多题目,并且难度也有所不同,所以要针对不同的题目进行专门的练习才好.题目类型有些多,等接下来我将搜索的题目写完后整体练习一下图论和搜索的题目,对其有个更好的理解之后再进行动态规划和贪心算法的题目. 今天记录一下广度搜索的内容,这里根据一道题目具体的去分析广度搜索的写法与思路. Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立…
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pycharm的run本质上是自动调用python使用的解释器 3.Python基本运算符 + - * / ** % 4.Python字符串#"一二三" 在Python种包含的是三个字符 name ="自动导入模板新"if "自动" in name: pr…
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__enter__和__exit__方法# class Open:# def __init__(self,name):# self.name = name# def __enter__(self):# print('如果出现with语句,__enter__就被触发')# def __exi…
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj,'name','egon')--->obj.name = 'egon'# delattr(obj,'name')-->del obj.name# class Foo:# pass# f1 = Foo()# 类.文件.模块都可以使用反射机制# import Day15 as test# print…
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类,类能访问到数据属性和函数属性,不能访问至实例属性#3.静态属性:@property,把函数封装成一个数据属性的形式,让外部调用时看不到内部的逻辑:特点:定义时有self(实例本身)############################################################…
# #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def walk(dog):# print('One Dog[%s] walking ' %dog['name'])# def init(name,gender,type):# dog1 = {# 'name':name,# 'gender':gender,# 'type':type,# 'jiao':j…
#re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以 # 通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None.#match : 同search,不过仅在字符串开始出进行匹配import re# res = re.match('\d+','alex36wusir24')# print(res)# res = re…
#有缩进的代码表示局部作用域的代码#if_name_ =='_main_' # while True#先引入一个os模块import os,sys,time,json# print(os.path.dirname())#BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(_file_)))# sys.path.append(BASE_DIR) 不写死找到相对路径###################################…
# Python中的内部模块# 函数学习的意义:抽取重复代码# 模块:不用重复写,模块及py文件,提高了代码的可维护性,其次,编写代码不必从零开始,当一个模块编写完毕,不必再重复编写# import time#向外部引用一个文件#模块包含三种:1.python标准库:2.第三方模块:3.应用程序自定义模块#另外,使用模块还可以避免函数名和变量名冲突.相同名字的函数和变量完全可以分别存在不同的模块中,# 因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突.但是也要注意,尽量不要与内置函数名字…
函数->功能, 如print(),input(),range(), 方法->功能, 如index()(尽量不用此方法),find(),类里面的函数就叫做方法 容器->列表,字符串,元组,字典,set集合. 模块-是可以调用的 appearance->通用的意思 标识符 ->变量,函数,类,文件等的名字 def->定义(define) 百分比转换 print("%.2f %%"(变量名 * 100)) import 导入类中的方法-->行为,功能…
在类内定义的类就称为内部类.内部类可以访问外部类的所有成员,外部类要访问内部类,必须先建立对象 内部类分为成员内部类和局部内部类 外界创建public修饰的成员内部类对象的格式:外部类名.内部类名 对象名 = new 外部类名().new 内部类名(); 如果成员内部类被private等修饰,外界无法直接创建其对象,可以通过在外部类内定义方法: public void 方法名(){ 内部类名 对象名 = new 内部类名(); } 外界调用该方法即可创建相应对象 局部内部类是在方法中定义的类,外…
数据类型初识 1. 数字 整数:2是一个整数的例子 长整数 不过是大一些的整数 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3*10-4. (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中用i表示虚数,j在工程领域表示虚数,python沿用了工程领域表示方法. int(整形) 32位机器中,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647 64位机器中,…
fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性读取所有行.     用fileinput对文件进行循环遍历,格式化输出,查找.替换等操作,非常方便. import fileinput for line in fileinput.input(): process(line) [基本格式]    fileinput.input([files[, i…
在Python中执行系统命令有os.system().os.popen().commands.getstatusoutput().subprocess.Popen等     1.os.system() Python中关于os.system的描述: >>> import os >>> help(os.system) system(command) -> exit_status Execute the command (a string) in a subshell.…
目录 Twisted Redis RabbitMQ   Twisted   事件驱动 事件驱动分为两个部分:第一,注册事件:第二,触发事件. 自定义事件启动框架,命名为:"弑君者": #!/usr/bin/env python # -*- coding:utf-8 -*- # event_drive.py event_list = [] def run(): for event in event_list: obj = event() obj.execute() class BaseH…
格式化 最后一个常见的问题是如何输出格式化的字符串.我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式. 在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下: >>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) '…
一,引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 报错了:NameError: name 'm' is not defined 上面为什么会报错呢 ?现在我们来分析一下python内部的原理是怎么样: 我们回忆一下python代码的运行是哦湖遇到函数是怎么做的,从python解释器开始执行后,就在内存开辟一个空间,每当遇到一个变量的时候,就把变量名和值之间的关系记录下来,但是当遇到函数定义的…
函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:centos,redhat 数据类型的操作方法 深浅拷贝 大文件(日志文件)读取 一行写成99乘法表 1.参数 实际参数可以是任何值 函数没有返回值,默认返回None 函数内部执行时,遇到return就终止运行 return可以返回任何数据类型的值,多个值时返回元组 # enconding: utf-8def tes…
本节主要内容: 1.函数参数--动态参数 2.名称空间,局部名称空间,全局名称空间,作用域,加载顺序. 3.函数的嵌套 4.gloabal,nonlocal关键字 一.函数参数--动态传参 形参的第三种:动态参数 动态参数分成两种: 1.动态接收位置参数 def chi(*food): print("我要吃", food) chi("⼤米饭", "小米饭") 结果: 我要吃 ('⼤米饭', '小米饭') # 多个参数传递进去. 收到的内容是元组t…
函数是python内建支持的一种封装,我们通过把打断的代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计,函数就是面向过程的程序设计的基本单元. 而函数式编程(请注意多了一个“式”字)——FUNCTIONAL PROGRAMMING,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算. 我们首先要搞明白计算机和计算的概念 在计算机的层次上,cpu执行的是加减乘除的指令代码.以及各种条件判断和跳转指令,所以,汇编语言是最贴近计算机的…
一.函数形参的动态参数 原因:为了拓展,对于实参数量不固定,故需要万能参数,即动态参数, *args   **kwargs # def sum1(*args): # 在函数定义时,在*位置参数,聚合. # *args将所有的实参的位置参数聚合到一个元组,并将这个元组赋值给args 1.1*args的聚合 例如:利用函数写个计算器 def sum1(*args): count = 0 for i in args: count =count + i return count print(sum1(1…