python中3+or+5
作者:东流去
新添置了一台m1版本的mac mini,想在上面部署HASS 来作为智能家居的核心。
上一次安装的时候还不知道Homebrew的好,这次直接安排上。
这次的内容主要是代码,和已经掉过的坑,希望你可以避免掉。
Mac 12.5系统是否内置了Python3呢?
答案:是的。
在terminal里输入python3,系统就会通过command line developer tools来安装一个python,
用python3命令就能看到具体的情况
huigetian@iMac ~ % python3
Python 3.8.9 (default, Apr 13 2022, 08:48:06)
[Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
系统自带的这个Python,奶爸决定不用,用Home-brew重新安装一个,以后方便管理。
homebrew官方的安装由于你知道的原因并不好用,这里用国内高手的安装包
关键词gitee cunkai homebrew
解决所有的烦恼,换源路径什么的都一次搞定
M1芯片ARM版Homebrew最终会被安装在/opt/homebrew路径下,而之前Intel芯片的Mac则会被安装到/usr/local/Homebrew路径下
成功后brew update
brew upgrade
brew install python3
安装后用这个命令确定以下 python命令的路径
echo$PATH
我的是这样的
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
第一行是 /opt/homebrew/bin 或者/usr/local/homebrew 的话说明在说明在terminal里输入的命令都是运行的brew里安装的那个python3
如果路径里没有这一行
在终端执行命令echo $SHELL获得终端类型:
/bin/zsh => zsh => .zprofile
/bin/bash => bash => .bash_profile
如果看到的是/bin/zsh
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
如果看到的是/bin/bash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile
eval "$(/opt/homebrew/bin/brew shellenv)"
从macOS Catalina(10.15.x) 版开始,Mac使用zsh作为默认Shell
.zprofile 这个文件的位置在/.zprofile 内容就是上面的两行代码
最后就是安装Homeassistant
按照官方的说法
python3 -m pip install wheel
python3 -m pip install homeassistant
如果速度很慢,还要pip换源
pip3 config set global.index-url https://pypi.mirrors.ustc.educ.cn/simple/
这个是中科大的源,速度飞快
经过一番努力,可以享受HASS带来的便利了
接入Homekit是这样的效果
总结
经过努力,一切都是值得的,今天的Homeassistant还不算完美,但当下仍然是最强的存在。
HASS可以整合各个平台的智能产品到一个平台上,实现统一管理和自动化,这是他的精髓。
M1 的mac 由于噪音和功耗极低,闲置功耗小于5W,非常适合作HASS服务器,NAS等
M1 mac 最合适的用途也许就是一个低功耗的服务器
安装若是遇到问题,关闭terminal再打开,或者重启一下Mac,可以解决莫名其妙的问题。
文章有未尽之处,善用搜索引擎。
","force_purephv":"0","gnid":"909710f34b0a4c7f9","img_data":[{"flag":2,"img":[{"desc":"","height":"800","title":"","url":"https://p0.ssl.img.360kuai.com/t0191eb26f307876f4c.jpg","width":"600"},{"desc":"","height":"450","title":"","url":"https://p0.ssl.img.360kuai.com/t01df52151965e4d560.jpg","width":"600"},{"desc":"","height":"297","title":"","url":"https://p0.ssl.img.360kuai.com/t014c1462ee7b91b646.jpg","width":"600"},{"desc":"","height":"1067","title":"","url":"https://p0.ssl.img.360kuai.com/t0109923193a9799fc0.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1660820366000,"pure":"","rawurl":"http://zm.news.so.com/6c1296d31fee8bd0ace9b01800e9c0a5","redirect":0,"rptid":"17fd1758fb962cb0","s":"t","src":"什么值得买","tag":[{"clk":"kdigital_1:mina","k":"mina","u":""},{"clk":"kdigital_1:mac","k":"mac","u":""}],"title":"日常分享篇 篇二:新的M1 Mac全新快速安装Homebrew+Python+Homeassistant
连苇码3988python for 语句怎么写 -
马辰和19141853240 ______ Python for循环控制语句一般格式及方法 for循环语句是python中的一个循环控制语句,任何有序的序列对象内的元素都可以遍历,比如字符串、列表List、元组等可迭代对像.之前讲过的if语句虽然和for语句用法不同,但可以用在for语句下做条件...
连苇码3988python3 re模块怎么添加 -
马辰和19141853240 ______ Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> import re >>>
连苇码3988Python布尔运算中,"Three" == 3为什么是假的 -
马辰和19141853240 ______ python可不懂英文,会帮你把 Three当做3处理,python眼里 Three就是 T h r e e 5个字母组成的
连苇码3988是python的题目,帮我算一下,谢谢,不知道是怎么算的,and和or又是什么作用 -
马辰和19141853240 ______ 不加括号的情况下 not的优先级大于and, and的优先级大于 or 所以上式等价于 (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) = 0 or 0 or 4 or 6 or 9 = 4 and运算时,如果第一个为False返回第一个值,否则返回第二个值 or 运算时,如果第一个为False返回第二个值,否则返回第一个值 所以 0 and 1 = 0 3 and 4 = 4 5 and 6 = 6 7 and 8 and 9 = 9 0 or 4 or 6 or 9 = 4
连苇码3988python中+加号什么意思– 智联问道 -
马辰和19141853240 ______ name=;;while not name:name=raw_input(u;请输入姓名:;) print name python中的not具体表示是什么:在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:(1) not与逻辑...
连苇码3988python list里前后数字相加 -
马辰和19141853240 ______ $ python Python 2.7.3 (default, Feb 27 2014, 20:00:17) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def itersum(*datas): ... summary = 0 ... for data in datas: ... summary += data ... yield ...
连苇码3988python "or"的问题 -
马辰和19141853240 ______ 首先'a' = 'b' or 'c'这是不对的,一个等号是赋值,两个等号才是判断相等,'a'不是合法的变量名称,因此会出错 其次如果是'a'=='b' or 'c' ,在or操作中会先计算or前面的式子,如果结果为假,才会计算or后面的式子,'a'=='b'为假,因此会执行后面的字符表达式'c'.如果前面的式子为真,则会直接返回前面式子执行的结果'a'==('b' or 'c') 括号中'b' or 'c'返回字符'b',然后执行'a'=='b',结果为False
连苇码3988python编写1+(1+3)+(1+3+5)+……(1+3+5+……+n)和的程序 -
马辰和19141853240 ______ #!/usr/bin/python3 def fun(n): if n < 0 or n%2 == 0: raise Exception('参数必须是正奇数') sum = 0 for j in range(n//2+1): for i in range(1,(j+1)*2,2): sum += i return sum print(fun(7))原创代码,fun函数参数可换成其他正奇数,参数检测有错误抛异常,不懂之处追问.
连苇码3988Python小白求助 为什么3 and 2会返回2,不是应该返回ascii码大的值吗? -
马辰和19141853240 ______ 返回ascii码,想你应该是其他语言的经验来理解的.python and称为逻辑与运算,也称布尔运算;1.and是在布尔上下文中从左到右计算表达式的值;a and b and c >> bool(a) bool(b) bool(c)2.0、''、[]、()、{}、None、False在布尔上下文中为假;其它任何东西都为真;3.如果布尔上下文中的某个值为假,则返回第一个假值;4.所有值都为真,则返回最后一个真值.