1.通過槽函數傳引用的方式獲取值,2.python 的List Comprehensions

1.通過槽函數傳引用的方式獲取值

void MainWindow::print(QString &d)
{
    d = "123";
    qDebug() << __LINE__;
}

void MainWindow::on_pushButton_clicked()
{
    QString p;
    QMetaObject::invokeMethod(this, "print", Q_ARG(QString &, p));
    qDebug() << p;
}

print:

d: 123;

 

2.python 的List Comprehensions

表達式:[expression for iter_val in iterable if cond_expr]

討論下多個for循環的執行順序

---------------------------------------------------------------------------------------------

>>> print[(x,y)for x in [1,2]for y in [3,4]]

[(1, 3), (1, 4), (2, 3), (2, 4)]

從左到右

---------------------------------------------------------------------------------------------

>>>print[(x,y)for x in [1,2]for y in [3,x]]

[(1, 3), (1, 1), (2, 3), (2, 2)]

從左到右

---------------------------------------------------------------------------------------------

>>>print[(x,y)for x in [1,y]for y in [3,4]]

[(1,3),(1,4),(2,3),(2,4)]

從右到左

---------------------------------------------------------------------------------------------

[expression]:最後執行的結果

[for iter_val in iterable]:這個可以是一個多層循環

[if cond_expr]:兩個for間是不能有判斷語句的,判斷語句只能在最後;順序不定,默認是左到右

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章