Franky's Blog

书山有路勤为径,学海无涯苦作舟……

Python-除法的更多考虑

Python对于除法的更多考虑。

在Python中,/运算符表示真正的除,运算恒返回一个浮点型的计算结果。

 1# 整数
 2>>> 12 / 3   # classic division returns a float
 34.0
 4
 5# 涉及负数
 6>>> 12 / - 3
 7-4.0
 8
 9>>> 17 / 3
105.666666666666667
11
12# 浮点数
13>>> 27.0 / 4  
146.75
Read more →

Perl-模式匹配后无法再次匹配

今天在开发调试脚本时,发现Perl字符串在进行一次模式匹配成功后,再用相同的模式匹配不上,查询资料了解到:

Perl在进行全局匹配时,会记住匹配的位置,且在下一次匹配时继续从上一次匹配的位置往下匹配,不会从开头进行匹配。

Read more →

Perl-如何释放数组或哈希占用内存

一般来说,在Perl中,内存的分配和释放并不是你可以或者应该多操心的事情!

截断一个数组并不回收其内存。你必须使用 undef(@whatever) 来把它的内存释放回你的进程的内存池里。你可能无法把它释放回你的系统的内存池,因为几乎没有那种操作系统支持这样做。在大多数操作系统上,分配给程序的内存永远不能返回给系统。

一旦Perl从操作系统中分配了内存,它就会在进程的整个生命周期中保留这些内存。在可能的情况下,Perl将重用它已经分配的内存,而不是向操作系统请求更多内存,但是你不会看到进程使用的内存减少。

最好方法是一开始就不要做任何浪费内存的事情。良好的编程实践可以在很大程度上实现这一目标。

Read more →

Coding-字符串拼接

  • 在 Shell 中,两个串依次排列即可;
  • 在 Perl 中,使用.连接两个字符串;
  • 在 Go 中,使用+连接两个字符串;
  • 在 Python 中,使用+连接两个字符串;
  • 在 Java 中,使用+连接任何类型数据拼接成为字符串; concat 方法只能拼接 String 类型字符串;
  • 在 SQL 中,使用concat连接两个字符串,有些数据库(Oracle、PostgreSQL)可以使用||;
Read more →