小编msh*_*yem的帖子

python中最有效的字符串连接方法是什么?

有没有在Python任何有效的质量字符串连接方法(如StringBuilder的 C#或StringBuffer的在Java中)?我在这里找到了以下方法:

  • 使用简单连接 +
  • 使用字符串列表和join方法
  • 使用UserString来自MutableString模块
  • 使用字符数组和array模块
  • 使用cStringIO来自StringIO模块

但是,您的专家使用或建议了什么?为什么?

[ 这里的相关问题 ]

python string

131
推荐指数
7
解决办法
10万
查看次数

如何调整UISwitch的大小?

我已经制作了一个自定义的UISwitch(来自这篇文章).但问题是,我的自定义文本有点长.有没有办法调整交换机的大小?[我试过setBounds,没用]

编辑:

这是我使用的代码:

@interface CustomUISwitch : UISwitch    
- (void) setLeftLabelText: (NSString *) labelText;
- (void) setRightLabelText: (NSString *) labelText;    
@end

@implementation CustomUISwitch

- (UIView *) slider 
{ 
    return [[self subviews] lastObject]; 
}
- (UIView *) textHolder 
{ 
    return [[[self slider] subviews] objectAtIndex:2]; 
}
- (UILabel *) leftLabel 
{ 
    return [[[self textHolder] subviews] objectAtIndex:0]; 
}
- (UILabel *) rightLabel 
{ 
    return [[[self textHolder] subviews] objectAtIndex:1]; 
}
- (void) setLeftLabelText: (NSString *) labelText 
{ 
    [[self leftLabel] setText:labelText]; 
} …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa cocoa-touch

48
推荐指数
3
解决办法
5万
查看次数

Python字符串'join'比'+'更快(?),但这里有什么问题?

我在早期的帖子中询问了最有效的大规模动态字符串连接方法,我建议使用join方法,这是最好,最简单,最快速的方法(就像大家所说的那样).但是当我玩字符串连接时,我发现了一些奇怪的(?)结果.我确信事情正在发生,但我不能完全理解.这是我做的:

我定义了这些功能:

import timeit
def x():
    s=[]
    for i in range(100):
        # Other codes here...
        s.append("abcdefg"[i%7])
    return ''.join(s)

def y():
    s=''
    for i in range(100):
        # Other codes here...
        s+="abcdefg"[i%7]
    return s

def z():
    s=''
    for i in range(100):
        # Other codes here...
        s=s+"abcdefg"[i%7]
    return s

def p():
    s=[]
    for i in range(100):
        # Other codes here...
        s+="abcdefg"[i%7]
    return ''.join(s)

def q():
    s=[]
    for i in range(100):
        # Other codes here...
        s = s + ["abcdefg"[i%7]]
    return ''.join(s) …
Run Code Online (Sandbox Code Playgroud)

python string performance

31
推荐指数
3
解决办法
1万
查看次数

覆盖没有绝对位置的Div

以下是一个很长的解释,但这是有效传达我正试图解决的问题的唯一方法......

我(有点绝望,并且完全没有成功)尝试在不使用绝对定位的情况下覆盖div.需求源于我通过Javascript放置在网站上的paypal购物车.购物车的自然位置很难对网页的上边距(不包含div,即#wpPayPal,或者这个div的包装,#main).

该剧本的作者强烈建议不要自定义购物车的样式表,但我找到了他编写的教程,可以将购物车插入占位符div,并且容器的定位说明有效 - 我能够将购物车放在网站的顶部横幅下方部分.然而...

购物车的HTML表单和每个元素中的ul元素都在购物车的样式表中有高度要求,这推送了页面的主要内容,由容器div #imageWrapper包装,在页面下方太远是可以接受的.

我尝试将#imageWrapper置于#main上,并从本网站的帖子收集了一些想法,但没有成功.我已经尝试在#imageWrapper上进行绝对定位,但这会让页脚浮动到下面.#imageWrapper的高度是可变的,因此我不想将页脚高度保持在适当的位置,因为防止重叠的最小高度会将页脚向下推得太远而无法访问网站的大部分内容.

我也试过拉动位置:相对于购物车形式的CSS,但购物车立即浮动回到网页的顶部.保证金,保证金等等,不能解决这个问题.

然后我读了一篇关于使用position:relative和z-index来叠加div的文章.试过这个,首先把z-index:-1放在#main(包裹paypal购物车的div)上,但购物车消失了.不知道它在哪里,因为该网站的痕迹导航也被#main包裹,仍然存在.

然后我将main的z-index设置为0并应用位置:相对于#imageWrapper,z-index:100.购物车重新出现,但仍然保持#imageWrapper.

建议非常欢迎.我不是任何想象力的界面人,只是一个知道如何使用谷歌的人,所以提前感谢清楚明确表达你的决议:)另外,仅供参考,我现在有购物车的最小高度要求将form设置为0,并将UL元素设置为height:auto.由于购物车中只有一个商品,这使得#imageWrapper可以向上移动页面足够可接受,但这不是一个可行的长期解决方案.

这是一个示例页面 - 要查看购物车,请使用主图像下方显示的下拉列表添加项目.在扩展状态下,您将看到#imageWrapper如何对抗它.

我在下面列出了部分违规HTML/CSS:

<div id="main">
    <div id="wpPayPal">
    </div><!--end wpPayPal-->
    <div id="breadcrumbs">
        <span class="B_crumbBox"><span class="B_firstCrumb"><a class="B_homeCrumb" href="/">home</a></span> &raquo;</span></span>
    </div> <!--end breadcrumbs -->
</div><!-- end Main -->

<div id="imageWrapper">
    <div id="imageInnerWrapper">
        <div id="featureImage">
            <div class="filename"><h1>~&nbsp;Bryce Canyon Sunrise | Bryce Canyon | Utah&nbsp;~</h1>
            </div><!--end filename-->
Run Code Online (Sandbox Code Playgroud)

等等...

#main {
    display: inline;
    position: relative;
    z-index: 0;
}

#imageWrapper {
    clear: both;
    width: …
Run Code Online (Sandbox Code Playgroud)

html css css-position

29
推荐指数
5
解决办法
8万
查看次数

要为加密狗附加系统编写哪些代码以提供更好的安全性?

我开发了一个软件(使用C和Python),我想用加密狗保护它,这样复制和逆向工程变得足够困难.我的加密狗设备附带一个api,提供以下功能:

  • 检查加密狗是否存在
  • 检查适当的加密狗
  • 写入加密狗的内存位置
  • 从加密狗等的内存位置读取(我认为休息不是那么好......)

我可以在源代码中做些什么来使它变得更难破解.Dongle提供商建议,我应该在循环中或事件之后检查正确的加密狗存在,或者我应该以有效的方式使用加密狗存储器.但是怎么样?我不知道破解者是如何破解的.请说清楚.提前致谢.

PS:请不要建议混淆.我已经这样做了.

copy-protection dongle

10
推荐指数
2
解决办法
5729
查看次数

如何在Python中获取/设置函数的局部变量(从外部)?

如果我有一个函数(在Python 2.5.2中),如:

def sample_func():
    a = 78
    b = range(5)
    #c = a + b[2] - x
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 如何在不使用函数内部的locals()的情况下从外部获取函数的局部变量(a,b)?(一种反思)
  2. 是否可以从外部设置局部变量(比如说x),以便注释行有效?(我知道这听起来很奇怪).

提前致谢.

编辑:

每个人都在要求用例.但这是一个奇怪的情况.(别怪我,我没有创造它).这是场景:

  1. 我有一个包含python函数的加密python源文件.
  2. AC扩展模块对其进行解密并在内存中构建该功能.
  3. 主python程序首先使用该加密文件位置调用C扩展.
  4. 然后主程序调用内存中构建的函数(通过C扩展)
  5. 但是主程序需要知道该函数的局部变量(不要问我为什么,这不是我)
  6. 对于某些(该死的)原因,主程序也需要设置一个变量(最奇怪)

python

10
推荐指数
2
解决办法
1万
查看次数

如何在PHP中提供多部分/相关内容?

说,我有一个application/xhtml + xml内容和一个gif图像.如何在单个 http get请求(使用PHP)中提供(不呈现)这两个?它应该是一个多部分/相关内容.阅读完RFC后,我尝试了一些东西; 但它不起作用.(不,我不是要发送带附件的电子邮件)

提前致谢.

编辑:最后我成功了.我想,如果我写下我是怎么做的,那将会很有用.我已添加此作为答案.请看下面.

php mime

6
推荐指数
2
解决办法
4382
查看次数

如何查看Core Data中的现有数据?

好吧,可能这个问题很愚蠢,但我找不到办法(除了编程).我构建了一个使用Core Data的项目(适用于iPhone OS 3.0).该xcdatamodel文件显示模式的描述,但我想看到的数据以表格形式(如管理工作室为MSSQL服务器或phpMyAdmin的用于MySQL的).

有没有办法(编码除外)?那是什么?

此外,哪些文件(在磁盘/设备中)存储在哪些数据中?

[我在Core Data上构建了教程(来自apple),名为Locations.他们在代码中的某处使用了这一行: NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Locations.sqlite"]];

但是,我没有在项目位置(也没有在磁盘中)看到任何"xxxxx.sqlite"文件.

iphone cocoa cocoa-touch core-data

6
推荐指数
1
解决办法
4979
查看次数

如何为新开发人员编写网站/软件的技术文档?

我想为开发人员制作现有网站的技术文档,以便新开发人员可以继续使用它.在现有代码中,很少(或根本没有)代码内注释或文档字符串可用(不好的做法,我知道).是的,我看过一些与这些相关的帖子.但那些并不那么详细.以下是我的所有问题:

  • 包括什么?
  • 如何组织?我的意思是,你能否提出一些层次结构,以便新开发人员可以轻松进入轨道?
  • 什么是最佳做法?
  • 你能展示一些样品吗?
  • 怎么能变得容易?一些人建议使用wiki工具,但我对它一无所知,它会有用吗?你能用一些快速入门教程建议任何工具吗?

我从未做过一个.所以我很感激任何答案.提前致谢.(链接将有所帮助,但请快速,清晰地总结它)

documentation

5
推荐指数
1
解决办法
2万
查看次数

为什么用 Spliterators 创建的流没有被并行处理?

这可能是非常基本的,但我不是 Java 人。这是我的处理代码,它只是打印和休眠:

    private static void myProcessings(int value)
    {
        System.out.println("Processing " + value);
    
        try
        {
            Thread.sleep(2000);
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }
    
        System.out.println("Finished processing " + value);
    }
Run Code Online (Sandbox Code Playgroud)

现在,这个并行流似乎并行工作:

    IntStream iit = IntStream.rangeClosed(1,3);
    iit.parallel().forEach(Main::myProcessings);
    
    // output:

    // Processing 2
    // Processing 1
    // Processing 3
    // Finished processing 3
    // Finished processing 2
    // Finished processing 1
Run Code Online (Sandbox Code Playgroud)

但是这个(由迭代器制成)没有:

    static class MyIter implements Iterator<Integer>
    {
        private int max;
        private int current;
    
        public MyIter(int maxVal)
        {
            max = maxVal;
            current = …
Run Code Online (Sandbox Code Playgroud)

java parallel-processing java-stream spliterator

3
推荐指数
2
解决办法
263
查看次数