python123测试3平方根格式化_Python3常用系统函数帅哥定制版

Python3常用系统函数JSON帅哥定制版

没错,这里的帅哥指的就是我自己

安装

安装pip3

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

tar -zxvf setuptools-19.6.tar.gz

cd setuptools-19.6.tar.gz

python3 setup.py build

python3 setup.py install

mac下可以直接使用homebrew,安装Python3同时会自动帮你安装 pip3

brew install python3

使用必读

不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);

可变数据(两个):List(列表)、Dictionary(字典)。

不可变对象,

该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,

相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。

可变对象,

该对象所指向的内存中的值可以被改变。

变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,

并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。

数值类型(int和float)、字符串str、元组tuple都是不可变类型。而列表list、字典dict、集合set是可变类型。

先说明一点is 就是判断两个对象的id是否相同, 而 == 判断的则是内容是否相同。

id() 函数用于获取对象的内存地址。

具体这块的测试,可以使用id(变量)来获取对象的内存地址,来做测试

上面我们讲了,str是不变对象,而list是可变对象。

对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:

>>> a = ['c', 'b', 'a']

>>> a.sort()

>>> a

['a', 'b', 'c']

而对于不可变对象,比如str,对str进行操作呢:

>>> a = 'abc'

>>> a.replace('a', 'A')

'Abc'

>>> a

'abc'

虽然字符串有个replace()方法,也确实变出了'Abc',但变量a最后仍是'abc',

Python3头文件

# coding=utf-8

# coding:utf8

# -*- coding: utf-8 -*-

杂项

__author__ 变量__author__='liu'把代码作者写进去,公开代码的时候给别人看, 和程序运行没有关系

__name__ 程序通过自身运行时返回"__main__"

__file__ 返回脚本的路径,必须是实际存在的.py文件

__name__ 当文件被直接运行时输出字符串__main__,如果是被调用执行则会输出自身的文件名

with...as 对资源进行访问的场合如open,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,同时可以as 一个别名

input() 获取用户输入内容类似PHP的STDIN

print() 输出

pass 不做任何事,一般作为占位符使用,后面的代码也不会执行

三元运算符 Python没有三元运算符,但是可以这样写,True if 2>1 else False;2>1则为True否则False

不定参数/可变参数

函数接收处理任意个数量的参数。

可变参数有两种形式*args和**args

*args就像普通的传参一样,同时传入函数 内部后变成列表

**args必须要以K1=V1,K2=V2的形式传入,同时传入函数内部后变成字典

案例:

def args1(arg,*args):

print(arg)

print(args)

args1('参数1','参数2','参数3','参数4')

def args2(arg,**args):

print(arg)

print(args)

# 这里的key不能有引号

args2('参数1',参数2='2',参数3='3',参数4='4')

系统内置函数

lambda 关键字,创建匿名函数表达式,如:lambda x:x*2,range(10),:前的是参数,后面是函数体

多个参数时用,隔开.匿名函数没有return返回值,返回值就是:后面的处理结果

filter() 将列表中的每一个元素传入函数/匿名函数,保留返回true的,放弃返回false的

结果要转成list需要用list()包裹,下面是一个利用filter和lambda的求奇的案例

list(filter(lambda x:True if x%2 else False, range(10)))

map() 将列表传入的函数依次作用到列表的每个元素,并把结果作为新的值返回

Python3中我的3.6,结果不能直接使用list()转换为为list否则会报错,需要遍历

reduce() 将list/dict/tuple等的第一个元素和第二个元素传入指定的函数进行处理,

将得到的结果和第三个参数传入指定函数,再将得到的结果传入指定函数,以此类推.

注意reduce()调用的函数,必须有两个形参.

Python3中reduce()已经放在了functools中需要,from functools import reduce

isinstance() 判断一个变量是不是指定的类型

#coding=utf-8

# builtin_function.py 内置函数

import os

def fun():

all([True, False]) # 迭代器(为空or)所有元素为true,返回true => False

any([True, False]) # 迭代器任意一个元素为true,返回true => True

num = abs(-1.23) # 绝对值

num = pow(5, 3) # 幂次方 x**y =>125

num = pow(5, 3, 3) # 幂次方再取余 (x**y) % z => 2

num = round(1.23) # 返回浮点数近似值,默认保留0位,且四舍五入

num = round(1.23, 5) # 5为保留小数点后位数

num = sum([1, 2, 3, 4, 5]) # 对列表数字求和

strs = ascii(os) # 返回对象的ascii字符串形式

strs = bin(123) # 整数转为二进制字符串(若被转对象非int类型可在__index__里定义)

boolean = bool(0) # 获取真假(假:None / False / 任何类型的0 / 空""()[]{} / __bool__返回False / __len__返回0)

bytes = bytearray("You were, are and will be in my heart!", "utf-8") # 字符串(字符串,编码):按编码转为字节序列 / 数字(数字):生成相应大小的空数组 / 无参():0数组

bytes = bytes("You were, are and will be in my heart!", "utf-8") # 同bytearray(),但是不可变

strs = chr(123) # 整数(Unicode)转为char类型(范围[0, 1 114 111])

num = ord("{") # char类型转为整数(Unicode)

num = complex("1+2j") # 将字符串或数字转为复数(不能含有空格)

num = float('1.1') # 构建浮点数

strs = format(123,'f') # 格式化(类型:x,b,f... / 位移:>(>10),

strs = hex(123) # 将整数转为16进制字符串

strs = oct(123) # 十进制转成8进制字符串

num = int(123.1) # 转为整数

strs = str(123) # 将对象转为字符串

strs = str(b"123", "utf-8")

elem = max([1,2,3,4], [2,4,6]) # 可接收1个iterable,或多个元素 => [2, 4, 6]

elem = max(1,2,3,4) # => 4

elem = max([1,2,3,4, 6], key = lambda x : x == 2) # => 2

elem = min(1,2,3,4) # 与max相反

exe = compile("print('O_O')", filename = 'strs', mode='exec') # 编译为代码, mode(编译模式:可执行语句'exec',单个语句'eval',交互式语句'single')

exec(exe) # 执行已编译代码

exec("print('O_O')") # 执行String未编译代码

eval(compile("print('O_O')", filename = 'strs', mode='eval')) # 不接受字符串类型

delattr(Clazz("Hello!"), "name") # 删除某对象属性 = del clazz.name 详情见 类 文章的 反射 代码块(http://www.jb51.net/article/128897.htm)

setattr(Clazz("Hello!"), "name", "World!") # 给对象某属性赋值

strs = getattr(Clazz("Hello!"), "name") # 获取某个对象的属性值

strs = getattr(Clazz("Hello!"), "name", -1) # -1为未找到属性的返回

boolean = hasattr(Clazz("Hello!"), "name") # 该对象是否有该属性

lists = dir(Clazz("Hello!")) # 查看函数

clazz = type(os) # 获取类型

dicts = globals() # 获取当前全局函数与对象

dicts = locals() # 获取当前局部函数与对象

dicts = vars() # 同locals() (__dict__)

dicts = vars(Clazz("Hello!"))

num = hash(Clazz("Hello!")) # 获取某对象的hash值

help(os) # 获取某对象的帮助文档

num = id(os) # 获取某对象的id

boolean = isinstance(Clazz("Hello!"), Clazz) # 对象是否是该类的实例

boolean = issubclass(Clazz, Clazz) # 该类(前)是否是该类(后)的子类(包括自己)

strs = repr(os) # 将对象转为字符串表达形式

# - super() # 代理父类对象,详情见 类 文章(http://www.jb51.net/article/88315.htm)

# - memoryview(obj) # 内存视图,详解 数据结构 文章(http://www.jb51.net/article/128892.htm)

dics = dict() # 创建字典

tups = divmod(10, 5) # 返回元组,(商(10/5),余数(10%5))

lists = enumerate(['a', 'b', 'c']) # 返回枚举对象

lists = filter(lambda x: True if (ord(x) > 66) else False, ['a', 'b', 'c']) # function为Frue保留,False移除

sets = frozenset([1, 2, 3]) # 返回新的frozenset对象(集合)

num = len([1, 2, 3]) # 长度

list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值