深入理解Python(二)

Python的返回值

  • Python的函数定义以关键字 def 开始,接着是函数名,再往后为参数。函数没有定义返回的数据类型。Python不需要指定返回值的数据类型,因为事实上,每个Python函数都会默认返回一个值。
  • 如果函数中有return语句,那么Python返回特定的值;否则,Python会返回None。
'''不同语言函数定义语法比较'''
#python
def test(params):
    return 'RETURN'

Python和其它语言数据类型的比较

  • 静态类型语言:一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的,如Java和C++。
  • 动态类型语言:一种在运行期间才确定数据类型的语言(话说,Python压根没有编译这一步吧),它们确定一个变量的类型是在您第一次给它赋值的时候。
  • 强类型语言:一种总是强制类型定义的语言,如Java、Python、C++。如果不明确地进行转换,一个整数是不能当成一个字符串。
  • 弱类型语言:一个类型可以被忽略的语言,如JavaScript是弱类型的,整数和字符串之间不需要显示的转换。

    所以总结来说Python是动态强类型语言。

doc string

def test(params):
    '''This is a function doc'''
    pass

test.__doc__

如上述代码所示,三重引号之间的东西用来定义一个函数的 doc strng 。同时,也可作为函数的属性。

模块导入的搜索路径

In: import sys
In: sys.path
Out: A list
In: sys
Out: <module 'sys' (built-in)>

当导入一个模块时,Python在path这个列表中逐项搜索,列表是可以扩充的。
内置模块是用C写的,这个请百度Python简史。

万物皆对象

不同的编程语言以不同的方式定义“对象”。

  • 在某些语言中,它意味着所有对象必须有属性和方法
  • 在某些语言中,它意味着所有的对象都可以子类化
  • 在Python中定义是松散的,大概可以解释为“一切都可以赋值给变量或作为参数传递给函数”。
  • -

python使用硬回车来分割语句,使用冒号的缩进来分割代码块

测试模块

行内赋值

行内赋值是指在if、for、while语句中赋值的情况

if name='main':
    pass
for(i=0;i<n;i++):
    pass
都会报语法错误

Python不支持行内赋值

if name==’main’

  • 直接运行模块时, 若使用if name = ‘main’, 就可以直接对模块进行测试
  • 而当导入模块时,name值为模块的文件名,就会忽略测试套件。
  • 这样在新的模块集成到一个大程序之前,开发和调试都会容易一些。

猜你喜欢

转载自blog.csdn.net/sjz_hahalala479/article/details/71216105