• [Python_2] Python 基础



     0. 说明

      Python 基础笔记,使用的版本为 Python 3.6.2

      Python 的变量、字符串操作、list、元组、字典、循环、range、类型转换、运算等操作。


    1. 引号的使用

      字符串使用单、双引号输出,'''或"""三引号也可以,后者通常用于多行文档原生输出。

    # 双引号
    print("hello world")
    
    # 单引号
    print('hello world')
    
    # (2.x  ,号结尾不换行打印)(3.x  end=""结尾不换行打印)
    print("hello world" , end="")

    2. Python 脚本中文乱码的解决之道

      在 Python 脚本头部添加 UTF-8 字符集声明

    #-*- coding:utf-8 -*-

      Linux 下的脚本需要在头部添加解释器如下,使用 which is python 查看 Python 的位置。

    #!/usr/bin/python

     3. 变量

       Python 变量不用声明,开袋即食。

    # 无需定义变量
    x = 10
    print(x)

    4. 代码块

      Python 的代码块以缩进四个字符表示

    # 缩进作为代码段
    if True:
        print(1)
        print(2)
    else:
        print(0)

    5. 手动换行

      手动换行为 

    # 相当于 1+2+3
    x = 1 + 
        2 + 
        3
    print(x)

    6. 注释

      单行注释 & 多行注释

    # 单行注释
    
    """
     多行注释
     多行注释
    """

    7. 字符串操作

    s = "hello world"
    
    # 输出指定位置的字符
    print(s[0])
    # ll,前包后不包
    print(s[2:4])
    # llo world
    print(s[2:])
    # hell
    print(s[:4])
    # hello worl
    print(s[:-1])
    # hello world
    print(s[:])
    
    #重复几遍操作  hello worldhello world
    print(s * 2)
    
    # 滤除两边的空格,等价于trim
    print(" hello world ".strip(" "))
    # 滤除左边的指定字符
    print(" hello world ".lstrip(" 
    	
    "))
    # 滤除右边的字符
    print(" hello world ".rstrip("
    ;"))
    
    # 字符串转换函数
    print(str(100))

    7. 格式化操作

    # 字符串格式化操作
    info = "name is %s and age is %d"%("tom" , 12)
    print(info)
    # 如果变量多次出现,可以使用format方式
    info = "name is {x} , welcome for {x}".format(x="tom")
    print(info)

     8. 变量定义

    # 变量必须初始化
    a= 100
    
    # 错误,没有赋值
    b
    
    # 同时定义多个变量并赋值
    a , b , c = 1 , 2 ,3

     9. 数据类型

    # int
    a = 100
    
    # float
    a = 100.0
    
    # python3 没有长整形
    
    # 复数
    a = 1 + 1j
    a = 0 + 1j
    print(pow(a, 2))
    print(a * a)
    
    # 字符串
    a = "hello world"
    print(a)

    10. List

      List表示列表或数组,可以重复,有序,等同于 Java 中的 List 集合,List 内容可以修改。

    # []是列表
    l = [1,2,3]
    print(l)
    print(l[0])
    print(l[1:])
    print(l[:-1])
    print(l[-2:])
    
    # 追加元素
    l.append(4)
    print(l)
    
    # 判断是否包含指定元素
    print(l.__contains__(5))
    
    # 重复操作
    print(l * 2)
    
    # 修改元素
    l[0] = 100
    print(l)

      in 操作

    """
        in 操作表示在集合中是否存在
    """
    list = [1, 2, 3]
    print(2 in list)

     11. 循环

    """
        循环,end="" 不换行打印
    """
    list = [1, 2, 3, 4, 5, 6]
    for e in list:
        print(e, end="")
    
    """
        for 循环实现 99 乘法表格
    """
    rows = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    cols = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    for r in rows:
        for c in cols:
            if c <= r:
                print("%d x %d = %d	" % (c, r, (c * r)), end="")
        print()
    
    """
        while 循环实现 99 乘法表格
    """
    i = 1
    while (i < 10):
        j = 1
        while (j <= i):
            print("%d x %d = %d	" % (j, i, (i * j)), end="")
            j += 1
        print()
        i += 1

     12. range 对象

      range 是范围对象,指定起始(包括)、结束(不包括)和步长。注意 range 在 Python3 和 Python2 是不同的.

    """
        range 快速构造数字序列,[)区间
        Python3 的 range 返回值为一个可迭代的对象,可以用list() 将其转换为 list
        结果如下:
        [1, 2, 3, 4, 5, 6, 7, 8, 9]
        range(1, 10, 2)
        range(10, 1, -1)
    """
    r1 = range(1, 10)  # 步长1,必须是整数
    r2 = range(1, 10, 2)  # 步长2
    r3 = range(10, 1, -1)  # 步长-1
    print(list(r1))
    print(r2)
    print(r3)

     13. 元组

      元组类似于数据表中的一条记录,每个组员有不同的类型,内容不能修改,使用()表示。

    """
        元组,使用()表示,元组不可变
    """
    t = (1, "tom", 12)
    # t[0] = 100 错误,元素不能修改
    print(t, end="")
    print(t[0:-1], end="")
    print()
    for e in t:
        print(e)

     14. 字典

      字典等同于 Java 中的 map,使用 KV 方式存储。通过 Key 查找 Value。使用 {} 构造。

    """
        字典,类似于 Java 的 map,以 KV 对表示
    """
    d = {1: "tom1", 2: "tom2", 3: "tom3", 4: "tom4"}
    d[1]
    d[1] = 100
    # 包含k操作
    print(3 in d)
    # 删除元素
    d.pop(1)
    print(d)
    
    # 遍历字典,迭代所有的key
    for e in d.keys():
        print(e)
    # 遍历字典,迭代所有的value
    for e in d.values():
        print(e)
    # 迭代所有的元组,字典看作是元组的集合。
    for e in d.items():
        print(str(e[0]) + ":" + e[1])
    # 反解析字典每个元素的内容到kv中
    for (k, v) in d.items():
        print(str(k) + ":::::" + v)

    15. 类型转换 

    """
        类型转换
    """
    
    # 转换成字符串 str(x)
    print(str(100) + str(2))
    
    # 转换成整数 int("100")
    print(int("100") + 2)
    
    # 转换成float类型
    print(float("3.1415926"))
    print(float(10))
    
    # 将字符串解析成数学表达式进行计算
    express = "1 + 2 - 3 * 4 / 2"
    print(eval(express))
    
    # set()不重复集合
    s = set([1, 1, 1, 2, 2, 3])
    print(s)
    
    # 列表、元组、字典转成字符串
    print(str([1, 2, 2, 3, 4, 5]))
    print(str((1, 23, 45)))
    print(str({1: "tom1", 2: "tom2"}))

    16. 运算 

    # -*-coding:utf-8-*-
    
    """"
        运算符
    """
    # 整除
    print(1 / 2)
    # 取余
    print(1 % 2)
    
    # 幂函数,2^3
    print(2 ** 3)
    
    # 浮点数除法
    print(1.0 / 2)
    # 整除
    print(1.0 // 2)
    
    # 进制变换
    print(hex(97))  # 转换成16进制
    print(oct(97))  # 转换8进制
    print(chr(97))  # 转换成字符
    
    """"
        位运算
    """
    print(1 & 2)
    print(1 | 2)
    print(1 ^ 2)  # 异或
    print(~1)  # 取反
    print(1 << 1)
    # 有符号右移
    print(-1 >> 1)
    
    """
        逻辑运算
    """
    print(1 < 2 and 2 > 3)
    print(1 < 2 or 2 > 3)
    print(not 1 < 2)
    
    """
        身份运算
    """
    a = [1, 2, 3, 4, 5]
    b = a[0:3]
    # 判断是否是同一对象
    print(a is b)
    # 判断内容是否相同
    print(a == b)
    
    """
        条件运算
    """
    age = 15
    if age < 18:
        print("少年")
    elif age > 60:
        print("老年")
    else:
        print("中年")

  • 相关阅读:
    Paypal开源nodejs框架研究(一)KrakenJs
    CoffeeScript 陷阱
    nodejs express route 的用法
    Moogoose实践之:Schema写全很重要,不然会把时间浪费在调错上!
    微软新一代输入法框架 TSF
    VC++在Win7和Win8系统下获得百度输入法的名字
    两款MongoDB的可视化管理工具
    网易开源游戏服务器框架-Pomelo实践(一)
    WinDbg之Page Heap实践
    MongoDB 备份与恢复的实践
  • 原文地址:https://www.cnblogs.com/share23/p/9812941.html
Copyright © 2020-2023  润新知