1、字符串格式化方法format的用法:

< ^ >    #分别为左对齐、居中、右对齐
'{:>18,.2f}'.format(70305084.0) #:冒号+空白填充+右对齐+固定宽度18+浮点精度.2+浮点数声明f
'{:^10}'.format('test') #返回test居中,共计10个字符
'{1} {0}'.format('one', 'two') #{}中的数字代表排列的顺序
'my name is {name},age is {age}'.format(name='hoho',age=19)
'{0:*>10}'.format(10) # 右对齐
'{0:*<10}'.format(10) ##左对齐,冒号后跟以*作为填充
b_dict = {'name':'chuhao','age':20,'province':'shanxi'}
print ('my name is {name}, age is {age},from {province}'.format(**b_dict)) #通过字典来对句子进行填充
print ('{:>7.2%}'.format(0.2)) #以百分比的形式输出值
i=1 j=2
print('{} shape is {}'.format(i,j)) #返回1 shape is 2
def sayhi(a,b):
print('%s 的后面是 %s' %(a ,b))
sayhi('i','ii')

2、enumerate的用法:

list=['这','是','一个','测试']
for i,item in enumerate(list):
print(i,item)
#输出

0 这
1 是
2 一个
3 测试

3、datetime包

from datetime import datetime, timezone
datetime.today() #返回当天信息
dt=datetime.now() #返回现在的信息
dt.year
dt.hour
dt.minute #返回当前的分钟
dt.second #返回当前的秒
dt.weekday() #返回星期几

4、filter函数

def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
#输出结果:[1, 3, 5, 7, 9] import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0
newlist = filter(is_sqr, range(1, 101))
print(newlist)
#输出结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

5、json模块()

1)json.dumps()

#json.dumps用于将dict类型的数据转换为str,因为如果直接将dict类型的数据写入json文件会报错,所以在写入数据时需要用到该函数
import json
name_emb = {'a':'','b':'','c':'','d':''}
jsObj = json.dumps(name_emb)
print(name_emb)
print(jsObj)
print(type(name_emb))
print(type(jsObj))
###返回结果如下:
{'a': '', 'b': '', 'c': '', 'd': ''}
{"a": "", "b": "", "c": "", "d": ""}
<class 'dict'>
<class 'str'> name_emb = {'a':'','b':'','c':'','d':''}
emb_filename = ('/home/cqh/faceData/emb_json.json')
jsObj = json.dumps(name_emb)
with open(emb_filename, "w") as f:
f.write(jsObj)
f.close()

2)json.loads()

import json
name_emb = {'a':'','b':'','c':'','d':''}
jsDumps = json.dumps(name_emb)
jsLoads = json.loads(jsDumps)
print(name_emb)
print(jsDumps)
print(jsLoads)
print(type(name_emb)) #返回class:dict
print(type(jsDumps))  #返回class:str
print(type(jsLoads)) #返回class:dict

6、self的简单讲解:

self表示类的实例,而非类,以如下代码为例:

class Test:
def prt(self):
print(self)
print(self.__class__)
t=Test()
t.prt()

输出结果为:

<__main__.Test object at 0x000001DCCF2C12E8>
<class '__main__.Test'>

由结果可以发现,self代表类的实例,self.__class__指向类。

在解释器内部,t.qrt()等价于Test.prt(Test())

在继承的时候,继承的是传入的实例,而非定义了self的类的实例。以如下为例:

class Parent:
def pprt(self):
print(self) class Child(Parent):
def cprt(self):
print(self)
c = Child()
c.cprt()
c.pprt()
p = Parent()
p.pprt()

在运行c.pprt()的时候,由于self指得是Child类的实例,self中未定义pprt()的方法,所以沿着继承树网上找,找到了父类Parent中定义的pprt()方法,所以成功调用。

在如下例子中,self指的是描述符类的实例:

class Desc:
def __get__(self, ins, cls):
print('self in Desc: %s ' % self )
print(self, ins, cls)
class Test:
x = Desc()
def prt(self):
print('self in Test: %s' % self)
t = Test()
t.prt()
t.x

这里调用的是t.x,也就是Test类的实例t的属性x,由于实例t中并没有定义属性x,所以找到了类属性x。该属性是描述符属性,为Desc类的实例,所以这里就没有用Test的任何方法。若直接运行Test.x也能得到相同的结果。

另一个实例:

class person:
def __init__(self,name,job=None,pay=10):
self.name=name
self.job=job
self.pay=pay
def getLastName(cls):
return cls.name.split('a')[-1]
def getRaise(self,percent):
self.pay=(int)(self.pay*(1+percent))
return self.pay
p=person('xiaoming','jixie') #用于实例化一个对象
p.getLastName()
p.getRaise(0.8)

在这里self指的是被实例化的对象p,需要调用当前的方法或者属性时,直接使用self.来进行调用就可以。

在这里init通常被称为构造函数,用于初始化,即当实例化一个对象时,对新对象进行初始化,通过传入新对象的参数将新对象的所有属性都初始化。

7、super函数的应用:

参考:http://python.jobbole.com/86787/

通过super函数实现父类的调用:

class animal(object):
def __init__(self,name):
self.name=name
def greet(self):
print('hello i am %s' %self.name)
class dog(animal):
def greet(self):
super().greet()
print('我擦 擦')
dog=dog('dog')
dog.greet()
#返回:hello i am dog 我擦 擦

这里animal是父类,dog是子类,我们在dog类定义了greet方法,为了同时实现父类的功能,又调用了父类的方法,从而得到相应的输出结果。

另一个继承的例子:

class Base(object):
def __init__(self):
print ("enter Base")
print ("leave Base")
class A(Base):
def __init__(self):
print ("enter A")
super(A, self).__init__()
print ("leave A")
class B(Base):
def __init__(self):
print ("enter B")
super(B, self).__init__()
print ("leave B")
class C(A, B):
def __init__(self):
print ("enter C")
super(C, self).__init__()
print ("leave C")

输出结果为:

>>> c = C()
enter C
enter A
enter B
enter Base
leave Base
leave B
leave A
leave C

python基本数据预处理语法函数(2)的更多相关文章

  1. python基本数据预处理语法函数(1)

    numpy包: ####数组###########from numpy import * shape #获取维度 size #获取长度 arange(0,5,1) #生成数组函数,从0到5以1为间隔 ...

  2. python迭代器与iter()函数实例教程

    python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑:脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程 ...

  3. Python学习教程(learning Python)--2.3.4Python函数返回值

    本节讨论Python函数返回值问题. Python和C语言一样,也可以在函数结束时返回一个值.但在定义自己的Python函数时,是不需要指定返回值数据类型的,这和Python不关心变量的数据类型是一致 ...

  4. Python 中的isinstance函数

    解释: Python 中的isinstance函数,isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是cla ...

  5. 举例详解Python中的split()函数的使用方法

    这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下   函数:sp ...

  6. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  7. Python基础:语法基础(3)

    本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...

  8. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  9. Python(四) —— 函数

    什么是函数? 把一堆代码放一起就叫函数 函数用来干什么? 不复写代码,提高代码重复利用程度 怎么定义以及调用函数: def fun1(): #定义函数 print('这是一个函数') #函数体,里面什 ...

随机推荐

  1. Map 接口有哪些类

    Map接口 Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value:Map中的键值对以Entry类型的对象实例形式存在:建(key值)不 ...

  2. layer.msg()自动关闭后刷新页面

    layer.msg("2秒就消失哦", { time: 2000 }, function () {                    window.location.href ...

  3. string类find_first_not_of ()方法

    string类find_first_not_of ()方法 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xfqxj.blog. ...

  4. Python3数据分析与挖掘建模实战 学习 教程

    Python3数据分析与挖掘建模实战 学习 教程 Python数据分析简介Python入门 运行:cmd下"python hello.py" 基本命令: 第三方库安装Windows ...

  5. 如何创建Windows虚拟机

    Windows虚拟机搭建 第1步:运行"Vmware WorkStation",看到主页面,创建新的虚拟机 第2步:新建虚拟机向导——典型(推荐) 第3步:选择光盘映像文件 第4步 ...

  6. Consul集群加入网关服务(Spring Cloud Gateway)

    Consul集群加入网关服务 架构示意图 外部的应用或网站通过外部网关服务消费各种服务,内部的生产者本身也可能是消费者,内部消费行为通过内部网关服务消费. 一个内部网关和一个外部网关以及一个Consu ...

  7. dp(电梯与楼梯)

    http://codeforces.com/problemset/problem/1249/E E. By Elevator or Stairs? time limit per test 2 seco ...

  8. [常用类]Number & Math 类(转载)

    下面的表中列出的是 Number & Math 类常用的一些方法: 序号 方法与描述 1 xxxValue() 将 Number 对象转换为xxx数据类型的值并返回. 2 compareTo( ...

  9. 开发一个 Parcel-vue 脚手架工具

    前言 像我们熟悉的 vue-cli,create-react-app 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目.在实际工作中,我 ...

  10. Mysql日期和字符的相互转换

    今天从网上查到了一些关于MySQL数据库的日期转换函数的转换的用法,在这里记录一下: mysql日期和字符相互转换 date_format(date,'%Y-%m-%d') ------------- ...