变量

Python - 超级好用的函数eval

有些话、适合烂在心里 提交于 2020-03-09 13:31:12
文章转自: https://baijiahao.baidu.com/s?id=1617211914887604328&wfr=spider&for=pc 1、前言 eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。 2、语法 eval(expression[, globals[, locals]]) expression : 表达式。 globals : 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 locals : 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 3、命名空间 python是用命名空间来记录变量的轨迹的,命名空间是一个dictionary,键是变量名,值是变量值。 在一个 Python 程序中的任何一个地方,都存在几个可用的名字空间。每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变 量。 每个模块拥有它自已的名字空间,叫做全局名字空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。还有就是内置名字空间, 任何模块均可访问它,它存放着内置的函数和异常。 python的全局名字空间存储在一个叫globals()的dict对象中

三十八、SHELL编程

久未见 提交于 2020-03-09 13:29:13
1、介绍 SHELL是基于C语言开发的软件程序,默认是置于Linux内核的外层,Linux系统启动之后,会在Linux内核外层,装载一层外壳,这个外壳称为SHELL。SHELL外壳程序是位于用户使用者和Linux内核之间的,主要是用于接收用户输入的指令,并且解析命令,最终将解析之后的指令发给Linux内核,Linux内核处理完成之后,会将处理的结果返回给SHELL,SHELL会对Linux内核返回数据做解释(翻译),最终将翻译之后的信息返回给用户。Linux操作系统启动之后,使用用户和密码登录,默认会登录到SHELL终端上,用户所有的操作都是在SHELL终端来执行。 常见SHELL解释器软件有以下几种: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 2、变量 Shell编程是非类型的解释型语言,不像C++、JAVA语言编程时需要事先声明变量。Shell给一个变量赋值,实际上就是定义了变量。在Linux支持的所有shell中,都可以用赋值符号(=)为变量赋值。Shell变量为弱类型,定义变量不需要声明类型,但在使用时需要明确变量的类型。可以使用Declare指定类型

spark的性能优化

倾然丶 夕夏残阳落幕 提交于 2020-03-09 13:13:05
spark性能优化点 一、分配更多的资源 它是性能优化调优的王道,就是增加和分配更多的资源,这对于性能和速度上的提升是显而易见的, 基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调 优的时候,首先第一步,就是要来调节优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到 了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考虑去做后面的这些性能调优的点。 1、分配哪些资源 executor-memory、executor-cores、driver-memory 2、在哪里设置 在实际的生产环境中,提交spark任务时,使用spark‐submit shell脚本,在里面调整对应的参数。 提交任务的脚本: spark‐submit \ ‐‐master spark://node1:7077 \ ‐‐class cn.itcast.WordCount \ ‐‐num‐executors 3 \ 配置executor的数量 ‐‐driver‐memory 1g \ 配置driver的内存(影响不大) ‐‐executor‐memory 1g \ 配置每一个executor的内存大小 ‐‐executor‐cores 3 \ 配置每一个executor的cpu个数 /export/servers

预测海藻的数量

老子叫甜甜 提交于 2020-03-09 10:51:44
问题描述与目标 希望通过建立预测模型预测河流中有害海藻的数量。同时了解藻类的频率和水样的某些化学性质以及其他特征。 数据说明 本文采用R语言里面自带的海藻数据样本共200个,有以下几种因素影响海藻的生长,用summary对数据进行整合,如图所示。 图 每个记录有11个变量,其中3个变量是名义变量,它们分别描述水样收集的季节、收集河流的大小和河水速度。余下的8个变量是所观察水样的不同化学参数,即最大pH值、最小含氧量(O2)、平均氯化物含量(cl)、平均硝酸盐含量(NO3)、平均氨含量(NH4)、平均正磷酸含量(PO4)、平均磷酸盐含量(PO4)、平均叶绿素含量。与这些参数相关的是7种不同有害藻类在相应水样中的频率数目。并未提供所观察藻类的名称的有关信息。 数据处理 画出海藻mxPH的频数直方图、密度图。 图 我们可以从图中得到一些信息。左边的MxPH的直方图,同时显示了变量分布的核密度。右边是QQ图,绘制正态分布的散点图,虚线显示95%置信区间,可以看出上图符合正态分布。 为了了解不同河流区域PH值在不同水体中分布情况 图 但是我们从图一可以看出有许多没有用的数据,因此我们必须对数据进行清洗。剔除掉无效数据184组数据。因所以需要对数据进行填补。 填补缺失数据最简便和便捷的方法是使用一些代表中心趋势的值。代表中心趋势的值反映了变量分布的最常见值。有多个代表数据中心趋势的指标

Spark的累加器和广播变量

佐手、 提交于 2020-03-09 08:17:39
累加器 累加器用来对信息进行聚合,通常在向 Spark传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。如果想实现所有分片处理时更新共享变量的功能,那么累加器可以实现想要的效果。 系统累加器 针对一个输入的文件,如果我们想计算文件中所有空行的数量,编写以下程序: scala > val notice = sc . textFile ( "/hyk/spark/words.txt" ) notice : org . apache . spark . rdd . RDD [ String ] = / hyk / spark / words . txt MapPartitionsRDD [ 1 ] at textFile at < console > : 24 scala > val blanklines = sc . longAccumulator ( "MyAccumulator" ) blanklines : org . apache . spark . util . LongAccumulator = LongAccumulator ( id : 0 , name : Some ( MyAccumulator ) ,

JS的一些日常

那年仲夏 提交于 2020-03-09 08:10:05
1. [1] == 1 => true; 很神奇.. 2.js变量命名规则: // 1、变量命名必须以字母、下划线”_”或者”$”为开头。其他字符可以是字母、_、美元符号或数字。 // 2、变量名中不允许使用空格和其他标点符号,首个字不能为数字。 // 3、变量名长度不能超过255个字符。 // 4、变量名区分大小写。(javascript是区分大小写的语言) // 5、变量名必须放在同一行中 // 6、不能使用脚本语言中保留的关键字、保留字、true、false 和 null 作为标识符。 3. js监听动画结束: 通过监听 transitionEnd 事件 和 animationEnd 事件 来实现 ! var element = document.getElementById('demo'); element.addEventListener('transitionend', handle, false); // element.addEventListener('animationend', handle, false); function handle(){ alert('transitionend事件触发') } 4. prop() 和 attr() 的区别: Dom的固有属性用prop()取值或设值, 什么是固有属性 ? <input id="chk2" type=

东西有点乱

半世苍凉 提交于 2020-03-09 07:51:08
Java中主要同步机制是关键字synchronized,它提供了一种独占的加锁方式,但同步这个术语还包括volatile类型的变量,显式锁和原子变量。 如果多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 在线程安全类中封装了必要的同步机制,因此客户端无须进一步采取同步机制。 无状态对象一定是线程安全的。 大多数Servlet都是无状态的,从而极大地降低了在实现Servlet线程安全性时的复杂性。只有当Servlet在处理请求时需要保存一些信息,线程安全性才会成为一个问题。 在并发编程中,这种由于不恰当的执行时序而出现不正确的结果是一种非常重要的情况,它有一个正式的名字:竞态条件。 最常见的竞态条件类型就是“先检查后执行”操作,即通过一个可能失效的观测结果来决定下一步的动作。 使用“先检查后执行”的一种常见情况就是延迟初始化。延迟初始化的目的是将对象的初始化操作推迟到实际被使用时才进行,同时要确保只被初始化一次。 为了确保线程安全性,“先检查后执行”(例如延迟初始化)和“读取-修改-写入”(例如递增操作)等操作必须是原子的。我们将“先检查后执行”以及“读取-修改-写入” 等操作统称为复合操作:包含了一组必须以原子方式执行的操作以确保线程安全性。

大数据学习第4天

纵然是瞬间 提交于 2020-03-09 07:44:36
大数据学习第四天 pstree 查看当前进程结构 source 加载文件 在当前bash . 在当前bash运行脚本 bash 相当于浏览器加cmd chomd +x 把文件变为可执行文件 #! /路径 在文件首行指定运行编译/解释器 不写时默认bash #! 注释的行会在第一次读取时直接运行 yum serch 查询yum情况 文件输出类型 0 标准输入 1 标准输出 2 错误输出 可以用于多种结果的不同输出 正常结果 1>/路径 错误结果 2>/路径 配置service服务文件 /etc/init.d/ chkconfig nn 运行模式 1-6 nn 运行优先级 nn 关机级别 vi 模式下 末行 set ts设置缩进距离 在脚本中'命令行' 变量名='cat 文件名'赋值 获取文件内容赋值变量 bash -x debug运行 ps -aux 查看所有进程 chkconfig 所有服务的配置情况 --list 查看所有服务的配置启用情况 $(变量名)字符串 变量字符串拼接 子bash执行指令时直接继承父bash环境(变量 运行环境...) 子bash执行文件时不会继承父bash的值 & 后台运行 | 管道创建子进程时会全部继承父bash的值 ' ' 强引用 完全引用 "" 弱引用 while 后面必须跟一个命令 比如test du -h 查看文件夹下文件大小 $IFS

Python的输入与输出、Python输入EOF判断

那年仲夏 提交于 2020-03-09 07:39:16
输入采用input()方法。input输入的元素都是以str形式保存的。输出采用print()方法。 Python中没有代表EOF的字符,因此检测到输入EOF时会直接报错EOFerror。因此我们要采用下面的写法来检测输入到EOF后停止循环输入: while True: try: s = int(input()) print(s) except: print('input complete') break 1 2 3 4 5 6 7 如果在cmd.exe中运行这段代码,输入Ctrl+Z即可停止输入。如果是在Pycharm内建运行框中运行这段代码,输入Ctrl+D即可停止输入。 如果是在Python中读取文件,Python到读取到文件结尾后是返回空字符串的,所以python可以这样判断: str = '' with open('readme.txt', 'r', encoding='utf-8') as fp: while True: s = fp.read(10) if s == '': break str += s print(str) 1 2 3 4 5 6 7 8 Python字符串类型、空值类型、Unicode编码、UTF-8编码、格式化字符串 字符串是以单引号’或双引号"括起来的任意文本。如果字符串内部既包含’又包含",可以用转义字符\来标识。\n表示换行,\t表示制表符

Python全栈考试(一)

浪尽此生 提交于 2020-03-09 05:47:04
1、执行 Python 脚本的两种方式 你也可以用PyCharm 2、简述位、字节的关系 数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B) 3、简述 ascii、unicode、utf-­‐8、gbk 的关系 ASCII码最多只能表示 255 个符号 unicode最多只能表示65536个字符 utf-­‐8是对Unicode编码的压缩和优化:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存... gbk是汉字内码扩展规范 4、请写出 “李杰” 分别用 utf-­8 和 gbk 编码所占的位数 用utf-8占48位 用gbk占32位 5、Pyhton 单行注释和多行注释分别用什么? python中单行注释采用 # 开头 python 中多行注释使用三个单引号(''')或三个双引号(""") 6、声明变量注意事项有那些? (1.) 变量名只能是 字母、数字或下划线的任意组合 (2.)变量名的第一个字符不能是数字 (3.)以下关键字不能声明为变量名 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',