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

# Python中的内部模块# 函数学习的意义:抽取重复代码# 模块:不用重复写,模块及py文件,提高了代码的可维护性,其次,编写代码不必从零开始,当一个模块编写完毕,不必再重复编写# import time#向外部引用一个文件#模块包含三种:1.python标准库:2.第三方模块:3.应用程序自定义模块#另外,使用模块还可以避免函数名和变量名冲突.相同名字的函数和变量完全可以分别存在不同的模块中,# 因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突.但是也要注意,尽量不要与内置函数名字…
一.昨日内容回顾 函数的进阶 动态传参 *args : 位置参数的动态传参 **kwargs: 关键字参数的动态传参 形参:聚合 实参:打散 顺序:位置参数>*args >默认值 >**kwargs 作用域和名称空间 全局作用域:内置+全局 局部作用域:局部 locals() 查看当前作用域中的名字 globals() 查看全局作用域中的名字 global  把全局的内容引入到局部 nonlocal  在局部,把上一层的变量引入进内部,如果上一层没有,继续上一层 二.今日主要内容 1.第…
#多态:多态指的是一类事物有多种形态# 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.RabbitMQ使用 2.Redis基础操作 代码部分为练习笔记和作业 概念部分转自Alex老师 RabbitMQ 安装 http://www.rabbitmq.com/install-standalone-mac.html 安装python rabbitMQ module 基础的实现案例 队列持久化.消息持久化.消息公平分发,实现起来都非常容易 代码里便都有备注 Consumer # _*_coding:utf-8_*_ import time import pik…
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) 不写死找到相对路径###################################…
函数->功能, 如print(),input(),range(), 方法->功能, 如index()(尽量不用此方法),find(),类里面的函数就叫做方法 容器->列表,字符串,元组,字典,set集合. 模块-是可以调用的 appearance->通用的意思 标识符 ->变量,函数,类,文件等的名字 def->定义(define) 百分比转换 print("%.2f %%"(变量名 * 100)) import 导入类中的方法-->行为,功能…
如果程序出现了问题,我们没有做任何处理,JVM会做默认处理,即:把异常的名称,原因和位置等信息输出在控制台,程序停止执行 一个简单的检测集合对象是否含有某元素,有就再添加一个某元素 public class A{ List<String> list = new ArrayList<String>(); list.add("hello"); list.add("world"); Iterator<String> it = list.…
数据类型初识 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.…
格式化 最后一个常见的问题是如何输出格式化的字符串.我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式. 在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下: >>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) '…
一,函数名是什么? 函数名是函数的名字,本质:变量,特殊的变量. 函数名()执行此函数 ''' 在函数的执行(调用)时:打散. *可迭代对象(str,tuple,list,dict(key))每一个元素添加到args元组中. **dict 将字典的键值对添加到kwargs字典中. 在函数的定义时: 聚合. *args将所有的位置参数聚合到一个元组中. **kwargs 将所有的关键字参数聚合到一个字典中. ''' #python 2 没有nonlocal 1.单独打印函数名 def func1(…
函数Ⅲ(内置函数&lambda表达式) 1.函数小高级 函数可以当做变量来使用: def func(): print(123) func_list = [func, func, func] # func_list[0]() # func_list[1]() # func_list[2]() for item in func_list: v = item() print(v) 函数可以当做参数进行传递,谁调用的函数返回值就给谁. def func(arg): print(arg) func(1)…
复习 什么是函数? 具体特定功能的代码块 - 特定功能代码作为一个整体,并给该整体命名,就是函数 函数的优点 : 1.减少代码的冗余,2.结构清晰,可读性强 3.具有复用性,开发效率高,维护成本高 如何定义一个函数 : 用def关键词来声明函数   def  fn(参数列表):|  函数体 | return 函数的返回值 定义函数时,函数体不会被执行 |  函数必须先定义后使用 函数的四部分 :1. 函数名:存放着函数的地址,是调用函数的就依据 2. 函数体:解决问题的代码块 3. 参数列表:外…
函数是python内建支持的一种封装,我们通过把打断的代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计,函数就是面向过程的程序设计的基本单元. 而函数式编程(请注意多了一个“式”字)——FUNCTIONAL PROGRAMMING,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算. 我们首先要搞明白计算机和计算的概念 在计算机的层次上,cpu执行的是加减乘除的指令代码.以及各种条件判断和跳转指令,所以,汇编语言是最贴近计算机的…
一.函数名的应用 1.函数名就是函数的内存地址 def func(): print(666) func() print(func) #函数的内存地址 2.函数名可以作为变量 def func1(): print(666) f1 = func1 f2 = f1 f2() #执行结果为 666 3.函数名可以作为函数的参数 def func1(): print(666) def func2(x): x() func2(func1) 4.函数名可以作为函数的返回值 def wraaper(): def…
1生成器 1生成器的本质 一定是迭代器(反之不一定(用send(生成器特有方法)验证))2生成器是可以让程序员自己定义的一个迭代器3生成器的好处,节省内存空间4生成器的特性,一次性的,惰性机制,从上往下5send 相当于next + 传值,第一次出生成器的时候,如果使用send(这必须是None),建议开始__next__6# python 2 next() iter() # python 3 next() iter() __next()__ __iter()__ 7yield 将可迭代对象元素…
try/except/else语句 这些语句的一般的格式如下图所示 其中try中定义了主要执行的动作.except中定义了try语句当中发生异常的处理器.else定义了没有发生异常时候的处理器. try语句运行的方式:try语句启动的时候,pyton会标识当前的程序环境,如果有异常发生,才返回这里.try首行下面的语句先被执行,然后根据执行的程序的情况,发生下面不同的动作: -try里面的代码块的确发生异常,python就会跳回try,执行第一个符合引发异常的except字句下面的语句.当exc…
一.装饰器 装饰器是在不改变函数调用方式的情况下,需要在函数前后新增功能.有些类似aop,不知道原理是否相同,表现是一样的. 装饰器严格遵守了“开放封闭原则” 1.基本装饰器 def wrapper(func): # 定义装饰器 def inner(*args, **kwargs): # 利用闭包及动态传参构建内部函数 # 在被装饰函数调用前的代码 ret = func(*args, **kwargs) # 调用被装饰函数 # 在被装饰函数调用后的代码 return ret return inn…
抽象类.接口.equals.compareTo 什么是抽象方法  ?     区分于正常的方法       1.使用了 abstract 修饰符          该修饰符修饰方法 则该方法就是抽象方法 该修饰符修饰类 , 则该类就是抽象类     2. 没有方法体      3. 小括号之后用 分号 作为结尾  什么是抽象类  ?         abstract 修饰的类就是抽象类           抽象类可以认为是 部分抽象的类          后期还有 完全抽象         这里…
要求,通过用户名密码登录,登录错误3次,锁定用户名 # coding=utf-8 # Author: RyAn Bi import os, sys #调用系统自己的库 accounts_file = 'E:\\homework\\user.txt' # 存放用户名密码的位置 lock_file = 'E:\\homework\\lock.txt' #存放锁定用户名的位置 print('accounts_file:', accounts_file) ''' temp1 = open(account…
目录 SqlAlchemy 外键 SqlAlechemy SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,如: MySQL-Python mysql+mysqldb://<user>:<password>@<host&g…