我正在开发一个用于android的库(jar),我遇到的情况是我希望我的类或方法只能在我的库中访问,但不能在我的库之外访问.使用no修饰符将使该类在该包中可访问,但我处于这样一种情况:如果没有public修饰符则不能使用此类,因为使用no修饰符将使其在我不想要的其他包中不可访问.例如,我有一个班级说,
public class Globals {
public static String thisDeviceAddress;
public static String thisDeviceIP;
public static String thisDeviceName = "";
}
Run Code Online (Sandbox Code Playgroud)
这个课程随处可见.问题是我希望它可以在我正在开发的库中访问,但不能在库外部访问.我已经知道使用注释@hide将解决问题.例如:
/**
* @hide
*/
class Globals {
public static String thisDeviceAddress;
public static String thisDeviceIP;
public static String thisDeviceName = "";
}
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了很多,但找不到实施的方法@hide.只是在@hide没有图书馆的情况下使用并没有隐藏课程.所以,请给我适当的指导.任何要使用的库?任何出路来解决这个问题?
我正在尝试编写一个类来从字典中随机选择一些歌曲。整个要点是能够简单地键入DJ.chooseListing()例如执行随机选择的内容。las,这给了我一个我在网上找不到的错误,我觉得答案很简单。
class DJ:
# put song variables here in this format: trackName = Track("string of song to be displayed", 'music/filename.ogg')
trackRickAstleyNever = Track("Never gonna give you up", 'music/rick.ogg')
trackShootingStars = Track("Shooting Stars", 'music/shoot.ogg')
dictSongs = {
# put songs here like this: 'name': varName,
'nevergonnagiveyouup': trackRickAstleyNever,
'shootingstars': trackShootingStars,
}
"""
arrayRandomized = [
# Put future songs here in this format: songs['name'],
]
"""
arrayChosen = []
trackChosen = ""
def chooseListing(self):
for i in xrange(4):
self.arrayChosen.append(random.choice(self.dictSongs))
def …Run Code Online (Sandbox Code Playgroud) scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
Run Code Online (Sandbox Code Playgroud)
我知道,scanner.skip()但我不知道上面这行到底是做什么的。我在很多程序中都看到过,但我不知道到底发生了什么。有人能帮我吗?
我已经在 python shell 3.5.8 上试过了
import speech_recognition as sr
import webbrowser as wb
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe
%s'
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Please wait. Calibrating microphone...")
# listen for 5 seconds and create the ambient noise energy level
r.adjust_for_ambient_noise(source, duration=5)
print("Say something!")
audio = r.listen(source)
# recognize speech
try:
text = r.recognize_google(audio)
print("I thinks you said '" + r.recognize_google(audio) + "'")
f_text='https://www.google.co.in/search?q=' + text
wb.get(chrome_path).open(f_text)
#except sr.UnknownValueError:
# print("I could …Run Code Online (Sandbox Code Playgroud) public class Container {
private int value;
public Container(int value){
this.value=value;
}
public int getValue(){
return this.value;
}
public int sum(Container c){
return this.value+c.getValue();
}
public void main(){
Container c1=new Container(1);
Container c2=new Container(2);
System.out.println("sum: " + c1.getValue()+c2.getValue());
System.out.println("sum: " + c1.sum(c2));
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到以下结果:
public class Container {
private int value;
public Container(int value){
this.value=value;
}
public int getValue(){
return this.value;
}
public int sum(Container c){
return this.value+c.getValue();
}
public void main(){
Container c1=new Container(1);
Container c2=new Container(2);
System.out.println("sum: …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 Python 编写一个简洁的 SQL 查询字符串,以同时使用 f-strings 和 Jinja。
背景信息:我正在编写一个在 Airflow 中使用的查询。
这不起作用:
query_string = f"""
SELECT
COUNT(DISTINCT case_id) AS counts
FROM
`{{var.value.gcp_project}}.{{var.value.dataset_prefix}}user.person`
WHERE
identified_on = PARSE_DATE('%Y-%m-%d', '{YESTERDAY_DATE_STR}')
"""
Run Code Online (Sandbox Code Playgroud)
它产生的查询字符串为:
SELECT
COUNT(DISTINCT case_id) AS counts
FROM
`{var.value.gcp_project}.{var.value.dataset_prefix}user.person`
WHERE
identified_on = PARSE_DATE('%Y-%m-%d', '2020-09-07')
Run Code Online (Sandbox Code Playgroud)
所以它做了 f-string 值替换而不是 Jinja。
如何让 f-strings 和 Jinja 同时工作?
我有很多实例,每个实例都有一个唯一的临时文件供其使用(将数据从内存保存到磁盘并稍后检索它们)。
我想确保最终所有这些文件都被删除。然而,我想留出空间来对它们的删除进行细粒度的控制。也就是说,如果需要的话,某些文件可以提前删除(例如,它们太大并且不再重要)。
实现这一目标的最佳/推荐方法是什么?
可能对此有想法
块try-finalize或with语句不是一个选项,因为我们有许多文件,它们的生命周期可能会相互重叠。而且,它几乎不承认更精细控制的选择。
从我读到的内容来看,__del__这也不是一个可行的选择,因为它甚至不能保证它最终会运行(尽管我并不完全清楚什么是“有风险”的情况)。此外(如果仍然如此),__del__运行时库可能不可用。
tempfile图书馆似乎很有前途。然而,文件在关闭后就消失了,这绝对是一个遗憾,因为我希望它们被关闭(当它们不执行任何操作时)以限制打开文件的数量。
该库承诺该文件“一旦关闭(包括对象被垃圾收集时的隐式关闭)就会被销毁”。
他们如何实现隐式关闭?例如,在 C# 中,我会使用(可靠的)终结器,但事实__del__并非如此。
atexit库似乎是最好的候选者,它可以作为可靠的终结器,而不是__del__实现安全的一次性模式。与对象终结器相比,唯一的问题是它真正在退出时运行,这相当不方便(如果对象有资格更早地被垃圾收集怎么办?)。
在理想情况下,似乎__del__和atexit库的组合可能表现最好。也就是说,清理既在 at__del__又在 中注册的方法进行atexit,而禁止重复清理。如果__del__被调用,注册的将被删除。
唯一(但也很关键)的问题是,__del__如果在 处注册了方法,则该方法不会运行atexit,因为对该对象的引用永远存在。
因此,欢迎任何建议、建议、有用的链接等。
我试图了解如何super在python中使用
class people:
name = ''
age = 0
__weight = 0
def __init__(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s is speaking: I am %d years old" %(self.name,self.age))
class student(people):
grade = ''
def __init__(self,n,a,w,g):
#people.__init__(self,n,a,w)
super(student,self).__init__(self,n,a,w)
self.grade = g
def speak(self):
print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))
s = student('ken',20,60,3)
s.speak()
Run Code Online (Sandbox Code Playgroud)
上面的代码出现以下错误:
---------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-147-9da355910141> in <module>()
10
11 …Run Code Online (Sandbox Code Playgroud) 我想更改工作表中单元格中填充的确定数据的字体大小。假设该单元格是第 26 列的第 2 行。以范围方式来说,这将是:Z2。字体大小为11。例如,我想将字体大小更改为72。
我怎样才能做到这一点?
是的,我对这个问题很认真。使用 pip 搜索如何工作?
关键字的文档search指的是“pip 搜索参考”,https://pip.pypa.io/en/stable/user_guide/#searching-for-packages其中除了参考之外的所有内容。
我无法从搜索尝试中得出搜索是如何工作的结论。例如,如果我搜索“exec”,我会得到各种结果,例如exec-pypeline (0.4.2) - an incredible python package. 我什至得到与“exec”无关的包名结果,只要描述中包含“exec”一词。
但奇怪的是,尽管其中一个包exec的名称中包含我自己的包之一,但我没有在列表中看到我自己的包之一。现在仅凭这一点就可以得出结论,pip(至少)会在包描述(我的包没有)中搜索完整的搜索词。
但是基于这个假设,如果我搜索包描述中提供的其他术语,我也不会列出我的包。这也适用于其他包:例如,如果我搜索“项目”,我不会进入flask-macros结果集中,尽管flask-macros. 因此,由于这与上述假设相矛盾,这显然不是搜索的工作方式。
有趣的是,我可以搜索“macro”并得到“flask-macros”,但是如果我搜索“macr”,则找不到“flask-macros”。
那么 pip 究竟是如何进行搜索的呢?在哪里可以找到合适的参考资料?
python ×5
java ×4
oop ×2
python-2.7 ×2
python-3.x ×2
android ×1
annotations ×1
apache-poi ×1
class ×1
del ×1
finalizer ×1
hide ×1
jinja2 ×1
object ×1
pip ×1
pypi ×1
search ×1
self ×1
subprocess ×1