python中判定性别编程_Python⼩⽩学习之路(⼆⼗六)—
【if__name__==。。。
规则⼀:字符串长度函数excel
⼀个python⽂件中,只写⼀些可以运⾏的功能
测试代码写在这句代码下⾯
if __name__ =='__main__':
在讲这边的时候,我不是很懂
参考了⼀篇博客,地址如下:
简单来理解,可以把if __name__ =='__main__':    理解为python程序的⼊⼝
对于很多编程语⾔来说,程序都必须要有⼀个⼊⼝,⽐如 C,C++,以及完全⾯向对象的编程语⾔ Java等。
如果你接触过这些语⾔,对于程序⼊⼝这个概念应该很好理解,C 和 C++ 都需要有⼀个 main 函数来作为程序的⼊⼝,
也就是程序的运⾏会从 main 函数开始。同样,Java 必须要有⼀个包含 Main ⽅法的主类来作为程序⼊⼝。
⽽ Python 则有不同,它属于脚本语⾔,不像编译型语⾔那样先将程序编译成⼆进制再运⾏,⽽是动态的逐⾏解释运⾏。
小白学python买什么书
也就是从脚本第⼀⾏开始运⾏,没有统⼀的⼊⼝。
⼀个 Python 源码⽂件除了可以被直接运⾏外,还可以作为模块(也就是库)被导⼊。
不管是导⼊还是直接运⾏,最顶层的代码都会被运⾏(Python ⽤缩进来区分代码层次)。
⽽实际上在导⼊的时候,有⼀部分代码我们是不希望被运⾏的。
#举⼀个例⼦来说明⼀下,假设我们有⼀个 const.py ⽂件,内容如下:
PI = 3.14
japonensis19 20six东莞
defMath():print('PI = %s'%PI)
Math()
我们在这个⽂件⾥边定义了⼀些常量,然后⼜写了⼀个 Math 函数来输出定义的常量,
最后运⾏ Math 函数就相当于对定义做⼀遍⼈⼯检查,看看值设置的都对不对。
然后我们直接执⾏该⽂件(python const.py),输出:
PI = 3.14
现在,我们有⼀个 area.py ⽂件,⽤于计算圆的⾯积,
该⽂件⾥边需要⽤到 test.py ⽂件中的 PI 变量,那么我们从 const.py 中把 PI 变量导⼊到 test.py 中:
from const importPIdefcalc_round_area(radius):return PI *(radius**2)defcalc():print('round area = %s'%(calc_round_area(2))) calc()
运⾏test.py ,输出结果
PI = 3.14round area= 12.56
可以看到,const 中的 Math 函数也被运⾏了,实际上我们是不希望它被运⾏,
提供 Math 也只是为了对常量定义进⾏下测试。
这时,if __name__ == '__main__' 就派上了⽤场。把 const.py 改⼀下:
PI = 3.14
defMath():print('PI = %s'%PI)if __name__ == '__main__':
excel公式中count的用法Math()
然后再运⾏ test.py,输出如下:
round area = 12.56
总结:
if __name__ =='__main__':
就相当于是 Python 模拟的程序⼊⼝。算法导论答案
Python 本⾝并没有规定这么写,这只是⼀种编码习惯。
由于模块之间相互引⽤,不同模块可能都有这样的定义,⽽⼊⼝程序只能有⼀个。到底哪个⼊⼝程序被选中,这取决于__name__的名字。
(先理解到这边)
规则⼆:
在编程中,利⽤⼀个状态来标识某种操作
举例:
有⼀个三层嵌套的循环程序,我可以通过break来跳出当前层的循环,
实现每⼀层之间进⾏切换。如果我现在在最⾥层,我要求⼀步切换到最外层
通过break来跳出,需要跳三次。
whileTrue:print('leve11')
choice= input('levell:').strip()if choice == 'quit':break
whileTrue:print('level2')
choice= input('level2:').strip()if choice == 'quit': break
whileTrue:print('level3')
choice= input('level3:').strip()if choice == 'quit': break
如果利⽤ tag 的状态来标识这种操作,可以实现循环最⾥层到最外层⼀步跳跃。tag =Truewhiletag:print('leve11')
choice= input('levell:').strip()if choice == 'quit':break
if choice == 'quit all': tag =Falsewhiletag:print('level2')
choice= input('level2:').strip()if choice == 'quit': break
if choice == 'quit all': tag =Falsewhiletag:print('level3')
choice= input('level3:').strip()if choice == 'quit': break
mysql中update语句的用法if choice == 'quit all':tag = False

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。