Python至少有六种格式化字符串的方法:
In [1]: world = "Earth"
# method 1a
In [2]: "Hello, %s" % world
Out[2]: 'Hello, Earth'
# method 1b
In [3]: "Hello, %(planet)s" % {"planet": world}
Out[3]: 'Hello, Earth'
# method 2a
In [4]: "Hello, {0}".format(world)
Out[4]: 'Hello, Earth'
# method 2b
In [5]: "Hello, {planet}".format(planet=world)
Out[5]: 'Hello, Earth'
# method 2c
In [6]: f"Hello, {world}"
Out[6]: 'Hello, Earth'
In [7]: from string import Template
# method 3
In [8]: Template("Hello, $planet").substitute(planet=world)
Out[8]: 'Hello, Earth'
Run Code Online (Sandbox Code Playgroud)
不同方法的简要历史:
printf自Pythons婴儿期以来,风格格式一直存在 …python printf string-formatting backwards-compatibility deprecated
在Java中,如果导入已弃用的类:
import SomeDeprecatedClass;
Run Code Online (Sandbox Code Playgroud)
你得到这个警告: The type SomeDeprecatedClass is deprecated
有没有办法压制这个警告?
我在Android Studio中使用facebook-android-sdk-4.19.0,然后按照Facebook快速入门指南访问https://developers.facebook.com/docs/android/getting-started(点击"快速启动"按钮使用您自己的Facebook帐户登录).在指南中,它被告知要在代码段中复制并粘贴以下代码以跟踪应用日志
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在android studio中复制粘贴代码时,似乎不推荐使用所有的FacebookSdk.sdkInitialize()方法.这里的文档https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/没有说明使用什么方法来初始化sdk而不是sdkInitialize().我应该使用什么方法?
我刚刚使用iOS 6.0升级到xcode 4.5,它突出显示了我的XIB文件中所有UILabel的警告"ios版本6.0上不推荐使用的最小字体大小".有谁知道这是指什么以及如何解决它?
更新: 图片不再可用(位于https://skitch.com/hahmadi82/eyk51/cloud)
我收到此警告,但该程序仍然正常运行.
MySQL代码在PHP中显示一条消息:
不推荐使用:mysql_connect():不推荐使用mysql扩展,将来会删除它:在第2行的C:\ xampp\htdocs\task\media \new\connect.inc.php中使用mysqli或PDO
我的connect.inc.php页面是
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
Run Code Online (Sandbox Code Playgroud)
这意味着什么?如何消除消息?
我在3天之前将Android Studio更新为1.3.0版.
在此之前,我可以使用NDK,现在我收到错误,如,
错误:(50,0)错误:当前插件中不推荐使用NDK集成.考虑尝试新的实验插件.有关详细信息,请参阅http://tools.android.com/tech-docs/new-build-system/gradle-experimental.在gradle.properties中设置"android.useDeprecatedNdk = true"以继续使用当前的NDK集成.
我在项目级别找不到文件gradle.property.
我该如何解决这个错误?
我相信,inline已经过时,因为我在这里读到:
无论你如何指定一个函数
inline,它都是一个允许编译器忽略的请求:编译器可能内联扩展一些,全部或没有你调用指定函数的地方inline.
然而,Angew似乎理解我不知道的事情.在这个问题中他和我来回走了很多,关于是否inline仍然有用.
这个问题不是一个问题:
inline或在哪里inline仍可用于向编译器提示inline功能:我应该何时为函数/方法编写关键字'inline'?.inline运行代码:强制其他翻译单元中的内联函数请记住,编译器可以随意使用inline,因此inline在那里没有用处:可以inline用来强制而不是建议编译代码的更改?
这是我的代码:
CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, CGFLOAT_MAX) // - 40 For cell padding
lineBreakMode:UILineBreakModeWordWrap];
Run Code Online (Sandbox Code Playgroud)
我收到一条警告,在iOS 6中不推荐使用UILinebBreakModeWordWrap.
PHP 8.1 已弃用将null参数传递给许多核心函数。我的主要问题是像htmlspecialchars(php)and 这样的函数trim(php),它null不再默默地转换为空字符串。
为了在不使用大量代码的情况下解决这个问题,我试图重命名原始的内置函数,并将它们替换为将输入转换为null(空)字符串的包装器。
我使用这种方法的主要问题是,该功能rename_function(PECL apd)不再起作用,最后一次更新是从 2004 1开始。
我需要对内置函数进行某种重写,以避免每次调用函数时都编写空检查,从而使我的所有代码变大两倍。
我能想到的唯一其他解决方案是仅使用我的自定义函数,但这仍然需要遍历我拥有的所有代码和第三方库。
在 PHP 8.1 中,当将 null 传递给内置函数时,它不再默默地转换为空字符串。
根据官方 Android 文档Deprecated 本身在 API 级别 S 中已弃用。 那么,Deprecated 本身已弃用的替代品是什么?
编辑:添加了网络存档链接以供历史参考。