小编Gri*_*han的帖子

究竟导入将在python中做什么

我写了一个a.py像这样的python文件:

x = 1
def hello():
   print x

hello()
Run Code Online (Sandbox Code Playgroud)

当我这样做import a,它打印的价值x

直到现在我的理解是import包括变量和函数定义,但为什么它正在执行方法hello()

python python-2.7

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

漂亮的打印不工作?

matrix = [ [1,2,3], [4,5,6], [7,8,9] ]
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(matrix)
Run Code Online (Sandbox Code Playgroud)

这不是很好的印刷品.它打印丑陋.

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

是什么赋予了??

python pretty-print python-3.x

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

为什么我的用户定义的异常没有得到正确处理?

我想知道一个用户定义的异常,我在我的python程序中从一个类中提出的异常处理程序中没有正确的异常处理程序处理main().说我有一节课:

class Pdbalog:
    # Constructor
    def __init__(self, logtype):
        if logtype == 1 or logtype == 2:
            # These are valid
            self.logtypeV = logtype
            ...<continue processing>
        else:
            # Invalid
            raise Exception("Invalid Logtype")
Run Code Online (Sandbox Code Playgroud)

main看起来像:

from pdbalog import *
def main():
    try:
        mylog = Pdbalog(10)
        ...<other code here>

    except "Invalid Logtype":
        print('Exiting...')
    except:
        print('Unhandled exception')
        raise
Run Code Online (Sandbox Code Playgroud)

我希望main运行的时候,我实例化Pdbalog对象的行会引发异常(Exception("Invalid Logtype")),而main(except "Invalid Logtype")中的异常处理程序会打印输出字符串"Exiting...".但事实并非如此.它由未处理的异常处理程序处理.最终发生的是"Unhandled exception"输出字符串.为什么不是

    except "Invalid Logtype":
Run Code Online (Sandbox Code Playgroud)

处理异常?

我使用的是旧版本的python(2.4).

python

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

值和变量的地址

有一个问题要打印值的地址:

char word[] = "hi there"; //print address of string
int a = 1; // print address of 1
Run Code Online (Sandbox Code Playgroud)

我知道如何打印变量的地址,我认为值在变量地址内?那么值的地址实际上是变量地址?

这是一个棘手的问题,我是对的吗?

提前致谢

c pointers

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

指向引用的指针加上一个数组

我刚读了一些关于指针的问题.这是代码:

int a[5]={1, 2, 3, 4, 5};
int *p = (int*)(&a + 1);//second line
cout<<(*p)<<endl;
Run Code Online (Sandbox Code Playgroud)

我的编译器输出是0.什么是*p?它是指向数组的指针a吗?什么&a+1意思?

c arrays pointers reference

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

python - 我使用*时语法无效

我创建了一个简单的函数来从迭代中解包N个元素.

def drop_first_last(grades):
    grades = first, *middle, last
    return avg(middle)
Run Code Online (Sandbox Code Playgroud)

当我运行此函数时发生以下错误:

grades = first, *middle, last

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会出现这个错误,如何解决?

python python-2.7

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

在Python中从列表中创建嵌套列表

如何制作以下列表:

nested_list = [['dave','dave'],['ian','ian'],['james','james']]
Run Code Online (Sandbox Code Playgroud)

从:

list = ['dave', 'ian', 'james']
Run Code Online (Sandbox Code Playgroud)

python

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

检查输入中的换行符

码:

printf("Enter your data (5x10) of characters: \n");
for (i = 0; i < SIZE1; i++)
for (j = 0; j < SIZE2; j++)
    scanf("%c", &matrix2[i][j]);
compress(matrix2);
break;
Run Code Online (Sandbox Code Playgroud)

我的代码假设采用5 x 10char矩阵.但是目前我的换行符正在输入到矩阵中,我如何实际检查换行符,并防止它进入matrix2[i][j]

它总共读取了4个换行符.输入:

aaabbbcccd (press enter)
ababababab (press enter)
bcdbcdbcdb (press enter)
ababababab (press enter)
abbbcccdda
Run Code Online (Sandbox Code Playgroud)

c newline matrix

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

在使用 fscanf 操作之前检查字符串的大小?

我正在尝试编写一个安全的文件输入。我的固定缓冲区大小为 128。我想从文件中读取字符串,但在复制它们之前我想检查它们的128长度是否小于或等于。

我可以做类似的事情吗:

fscanf(fp, "%128s", myString)
Run Code Online (Sandbox Code Playgroud)

我已经看到以同样的方式使用 scanf 会限制读入的字符数,但没有看到任何对它的引用以这种方式与 fscanf 和字符串一起使用?

c

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

从Python中删除列表中的所有逗号

我的问题:我想在这个字符串中添加所有数字'1.14,2.14,3.14,4.14'但是逗号导致我的sum函数无法正常工作.
我认为使用条带功能可以解决我的问题,但似乎仍然有一些我缺少或不太了解.

total = 0
for c in '1.14,2.14,3.14'.strip(","):
    total = total + float(c)
print total
Run Code Online (Sandbox Code Playgroud)

我已经搜索了如何从字符串中删除逗号,但我只找到了有关如何从字符串的开头或结尾删除逗号的信息.

附加信息:Python 2.7

python

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