zoukankan      html  css  js  c++  java
  • python基础知识

    前言

    python中需要特别注意代码的缩进,这不是为了可读性而是正确性,不像 C#,lua ( function do end),js等语言的函数范围用{}表示。

    对于判断是否包含尽量使用in,而不使用for,具体参考:《Python编程惯例.md》

    Non-ASCII character

    python报错“Non-ASCII character 'xe5' ”

    解决方法:

    在Python源文件的最开始一行,加入一句

    # coding=UTF-8
    #或者
    # coding:UTF-8 --
    

    变量定义

    不需要var 也不要写类型,直接写变量名,全局和局部变量都不需要写类型

    变量的定义需要放在使用的前面,可以理解为像C那样顺序执行的,而不像C#。

    假如全局和局部名相同,而要特殊声明使用的是全局变量,则在变量明名前加上 global

    x = 100
    def func():
        global x
        print(x)
        x = 2
        print(x)
    func()
    print(x)
    
    

    输出结果为:

    100 2 2

    关于变量的详细可参考这篇文章《python变量(全局、局部):global、nonlocal、locals

    函数定义

    def 函数名:
    	函数内容
    

    返回值

    def sum(a,b):
        return a+b,a-b
    
    test1,test2=sum(2,1)
    print(test1,test2)
    #输出 3 1
    

    多返回值,通过,分隔,这点用lua的写法一样

    可变参数

    或者定义成如下: def add(*args):

    #可变参数
    def calcTotal(nums):
        total = 0;
        for num  in nums:
            total = total + num
        return total
    
    print(calcTotal((1,2,3)))
    
    #输出 6
    

    代码注释

    # 单行注释
    
    """ 要注释的内容
    多行注释,三个双引号连接
    """ 
    

    输入与输出

    name=input("请输入帐号")
    pwd=input("请输入密码")
    print("name:%s,pwd:%s"%(name,pwd))
    #输出
    请输入帐号111
    请输入密码222
    name:111,pwd:222
    
    #用空格连接
    print(name,pwd)
    111 222
    #输出
    

    注意引号后面没有,也没有空格

    转义字符后接 %()

    数据结构-dict

    判断字典中不存在key

    if "skin_name" not in hero:
        print("数据异常")
        return
    

    数据结构-list

    遍历列表

    for k in range(len(skins)):
    

    逻辑控制

    If和elif后面加冒号:

    没有++和--

    for else一般很少用,当for循环要退出时要加break

    for循环

    for i in range (0,2):
        print(i)#打印0,1
    

    python类中的方法,需要传入self,这点和原生的Lua是一样的。

    py文件执行完不直接退出

    在python文件的未尾添加一行输入符,等待用户按下任意键才会退出

    python执行

    python test.py 和python -m test.py 这两者的区别?

    直接运行会将该脚本所在目录添加至sys.path
    当做模块启动则会将当前运行命令的路径添加至sys.path

    end=

    end=,对于文本中文字本来就是有换行的,如果想在输出时不换行,可以写end="",如果不加,那么会多出换行

    filepath = r'E:Code	est.txt'
    with open(filepath, mode="r", encoding="utf-8") as f:
        for line in f:
            print(line)
    
    """
    不加 end=""
    第一行
    
    第二行
    
    共三行
    """
    
    """
    加上end=""
    第一行
    第二行
    共三行
    """
    

    常见代码

    tuple 元组

     
    __name__是Python中一个隐含的变量它代表了模块的名字
    只有被Python解释器直接执行的模块的名字才是__main__
    if __name__ == '__main__':
    

    善于使用in运算符。

    if x in items: # 包含
    for x in items: # 迭代
    

    in的使用示例:

    name = 'Hao LUO'
    if 'L' in name:
        print('The name has an L in it.')
    

    参考资料

    Python3 与 C# 基础语法对比(就当Python和C#基础的普及吧)

    Python-100-Days (基础部分看到Day01-15就可以,进阶部分可以选择性看)

  • 相关阅读:
    数据结构(四十)平衡二叉树(AVL树)
    数据结构(三十九)二叉排序树
    数据结构(三十八)静态查找表(顺序查找、二分查找、插值查找、斐波那契查找、线性索引查找)
    数据结构(三十七)查找的基本概念
    数据结构(三十六)关键路径
    数据结构(三十五)拓扑排序
    数据结构(三十四)最短路径(Dijkstra、Floyd)
    数据结构(三十三)最小生成树(Prim、Kruskal)
    字符串匹配算法之KMP
    最长公共子序列(Longest common subsequence)
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14856690.html
Copyright © 2011-2022 走看看