zoukankan      html  css  js  c++  java
  • Python基础

    main函数

    python在执行文件时,是直接从上往下执行,没有main函数,但每个文件有一个内置属性__name__,当python直接执行该文件时,属性值为__main__,当文件作为模块引入时,属性值为模块的名称,所以经常会有以下写法:

    if __name__ == "__main__":
        # execute only if run as a script
        main()
    

    命令行参数

    导入模块:import sys

    获取命令行参数:sys.argv

    结束程序

    sys.exit()

    变量与作用域

    当变量在Module(模块)、Class(类)、def(函数)中定义时,会有作用域的概念,示例1:

    def func():
        var = 100 
        print(var)  # 100
        
    func()
    print(var)      # NameError: name 'var' is not defined
    

    当变量在if-elif-else、for-else、while、try-except ry-finally等语句块中不会产成作用域,示例2:

    if True:
        var = 100
        print(var)  # 100
        
    print(var)      # 100
    

    搜索变量名的优先级:局部作用域 > 嵌套作用域 > 全局作用域 > 内置作用域,示例3:

    var = 100
    
    def func():
        print(var)  # UnboundLocalError: local variable 'var' referenced before assignment
                    # Python在当前作用域搜索var,由于函数中存在var,但此时尚未赋值,故报错。
        var = 300   # 如果没有 var = 300 这句代码,上述语句将会引用全局变量var,则不会报错。
        
    func()
    print(var)
    

    全局变量的使用,全局作用域的作用范围仅限于单个模块文件内,示例4:

    global var     # 声明全局变量
    var = 100      # 给全局变量赋值
    
    def func():
        global var # 再次声明,表示这里使用的是全局变量
        print(var) # 100
        var = 300
        
    func()
    print(var)     # 300
    

    操作符

    需要注意的操作符:

    from __future__ import division  # 使python2除法取得小数
    
    print(2 ** 3)       # 指数运算  结果为 8
    print(18 // 10)     # 除法取整  结果为 1
    print(18 / 10)      # 除法操作  在python2中会自动取整,结果为 1,python3中,结果为 1.8
                        # 如果使python2与python3结果一致,需要导入上面的模块
    

    可用于字符串的操作符:

    print("Ali" + "ce") # 连接操作  结果为 "Alice"
    print("Alice" * 5)  # 复制操作  结果为 "AliceAliceAliceAliceAlice"
    

    输入与输出

    myName = input()        # python3
    # myName = raw_input()  # python2
    print('It is good to meet you, ' + myName)
    

    注意:python2 中输入函数为 raw_input

    for循环与range函数

    # 循环 5 次,i 的值分别为 0, 1, 2, 3, 4
    for i in range(5):
        print("i = " + str(i))
    

    range 函数可以接受三个参数,分别为起始值,上限值(不包含),步长(默认为1):

    # 循环 5 次,i 的值分别为 0, 2, 4, 6, 8
    for i in range(0, 10, 2):
        print("i = " + str(i))
    

    导入模块

    import moduleName
    from moduleName import funcName
    

    函数的定义与调用

    def hello(name):
        print("Hello " + name)
        
    hello('Alice')
    

    None值

    其他编程语言可能称这个值为 null、nil、undefined

    异常处理

    try:
        print(5/0)
    except ZeroDivisionError:
        print("You can't divide by zero!")
    
  • 相关阅读:
    2015第21周日
    2015第21周六
    从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
    earlysuspend调用过程
    程序猿生存定律--使人生永动的势能
    调用ShellExecute所须要头文件
    Vbox创建COM对象失败
    HDU 1874 畅通公程续 (最短路 水)
    Java凝视Override、Deprecated、SuppressWarnings具体解释
    NAT的全然分析及其UDP穿透的全然解决方式
  • 原文地址:https://www.cnblogs.com/zhouzl/p/10998832.html
Copyright © 2011-2022 走看看