zoukankan      html  css  js  c++  java
  • Python 基础(一)

    一、print 功能

    1、打印字符串要加单引号或者双引号

    print('Hello world') # 打印 Hello world
    print("Hello world 2") # 打印 Hello world 2

    2、字符串叠加

    可以使用 + 将两个字符串链接起来

    print("Hello world" + '!') # 打印 Hello world!

    3、简单运算

    可以直接 print 加法 + 、减法 - 、乘法 * 、除法 / 。注意:字符串不可以直接和数字相加,否则会出现错误

    print(1 + 2) # 3
    print(2 - 1) # 1
    print(2 * 3) # 6
    print(8 / 4) # 2
    print('test' + 4) # 字符串不可以直接和数字相加

    4、int() 和 float() 。注意:当 int() 一个浮点数时,会保留整数部分,而不是四舍五入

    print(int('2') + 4) # 6
    print(int(1.8)) # 1
    print(float(1.3) + 4) # 5.3

    二、基础数学运算

    加法 + 、减法 - 、乘法 * 、除法 / 、取余 % 、幂 **

    1 + 2 # 3
    2 - 1 # 1
    2 * 3 # 6
    8 / 4 # 2
    10 % 3 # 1
    2 ** 3 # 8

    三、变量

    count = 1
    name = "banana"
    fruit_color = "yellow" # 需要多个单词来表示自变量时,用下划线隔开
    v1, v2, v3 = 10, 5, 7 # 一次定义 多个自变量

    四、while 循环

    while 语句和其他编程语言中的 while 的使用方式大同小异,主要结构如下

    while condition:
        expressions

    其中,condition 为判断条件,在 python 中就是 True 和 False 其中的一个,如果为 True,则执行 expressions 语句,否则将跳出 while 语句块,接着往下执行

    condition = 0
    while condition    < 10:
        print(condition)
        condition = condition + 1

    1、 常规比较操作

    小于 < 、大于 > 、不大于 <= 、不小于 >= 、等于 == 、不等于 !=

    2、数字

    整数和浮点数也能进行 Boolean 数据操作,如果该值等于 0 或者 0.0,将会返回False,其余的返回 True

    3、None 类型

    如果 while 后面接着的语句数据类型为 None,将会返回 False

    4、集合类型

    在 python 中集合类型有 list、tuple、dict 和 set 等,将集合对象作为 while 判断语句,如果集合中的元素数量为 0,那么将会返回 False, 否则返回 True

    # 打印 9 8 7 6 5 4 3 2 1 0
    a = range(10)
    while a:
        print(a[-1])
        a = a[:len(a)-1] # 使用切片操作去掉最后一个元素

     五、for 循环

    for 循环的基本使用方法如下

    for item in sequence:
        expressions

    sequence 为可迭代的对象,item 为序列中的每个对象

    1、常规操作

    # 打印 1 2 3 4 5 6 7 12 543 876 12 3 2 5
    example_list = [1, 2, 3, 4, 5, 6, 7, 12, 543, 876, 12, 3, 2, 5]
    for i in example_list:
        print(i)

    2、range 使用

    在 python 中内置了工厂函数,range 函数将会返回一个序列,总共有三种使用方法

    1) range(start, stop)  其中 start 为序列的起始值,stop 为结束值,但是不包括该值,类似数学中的表达[start, stop),左边为闭区间,右边为开区间

    2) range(stop)  如果省略了 start,那么将从 0 开始,相当于 range(0, stop)

    3) range(start, stop, step)  step 代表步长,即相隔的两个值的差值。从 start 开始,依次增加 step 的值,直到等于或者大于 stop

    # 打印 1 - 9
    for i in range(1, 10):
        print(i)
    
    # 打印 0 - 9
    for i in range(0, 10):
        print(i)
    
    # 打印 0 5 10
    for i in range(0, 13, 5):
        print(i)

    2、内置集合

    python 共内置了 list、tuple、dict 和 set 四种基本集合,每个集合对象都能够迭代

    1) tuple 类型

    # 打印 python, 2.7, 64
    tup = ('python', 2.7, 64)
    for i in tup:
        print(i)

    2) dictionary 类型

    dic = {}
    dic['lan'] = 'python'
    dic['version'] = 2.7
    dic['platform'] = 64
    for key in dic:
        print(key, dic[key])

    注意:字典中 key 是乱序的,和插入顺序不一致,如果想要使用顺序一致的字典,可以使用 collections 模块中的 OrderedDict 对象

    3) set 类型

    # 打印 python python2 python3
    s = set(['python', 'python2', 'python3','python'])
    for item in s:
        print(item)

    注意:set 集合将会去除重复项,输出的结果也不是按照输入的顺序

    4) 迭代器

    python 中的 for 语法实际上实现了设计模式中的迭代器模式,所以我们自己也可以按照迭代器的要求,自己生成迭代器对象,以便在 for 语句中使用。只要类中实现了 __iter__ 和 next 函数,那么对象就可以在 for 语句中使用

    # define a Fib class
    class Fib(object):
        def __init__(self, max):
            self.max = max
            self.n, self.a, self.b = 0, 0, 1
    
        def __iter__(self):
            return self
    
        # python 2.0 需要改成 def next(self):
        def __next__(self):
            if self.n < self.max:
                r = self.b
                self.a, self.b = self.b, self.a + self.b
                self.n = self.n + 1
                return r
            raise StopIteration()
    
    # 打印 1 1 2 3 5
    # using Fib object
    for i in Fib(5):
        print(i)

    5) 生成器

    除了使用迭代器以外,python 使用 yield 关键字也能实现类似迭代的效果,yield 语句每次执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用。这样做的好处是在于节约硬件资源,在需要的时候才会执行,并且每次只执行一次

    def fib(max):
        a, b = 0, 1
        while max:
            r = b
            a, b = b, a+b
            max -= 1
            yield r
    
    # 打印 1 1 2 3 5
    # using generator
    for i in fib(5):
        print(i)

    六、判断语句

    if condition:
        expressions

    如果 condition 的值为 True,将会执行 expressions 语句的内容,否则将跳过该语句往下执行

    if condition:
        true_expressions
    else:
        false_expressions

    当 if 判断条件为 True,执行 true_expressions 语句;如果为 False,将执行 else 内部的 false_expressions

    if condition1:
        true1_expressions
    elif condition2:
        true2_expressions
    elif condtion3:
        true3_expressions
    elif ...
        ...
    else:
        else_expressions

    如果有多个判断条件,可以通过 elif 语句添加多个判断条件,一旦某个条件为 True,那么将执行对应的 expressions,并在其代码执行完毕后跳出该 if-elif-else 语句块,往下执行

  • 相关阅读:
    spring FactoryBean配置Bean
    注意使用 BTREE 复合索引各字段的 ASC/DESC 以优化 order by 查询效率
    Mysql经常使用基本命令汇总及默认账户权限与改动
    图像边缘检測--OpenCV之cvCanny函数
    HDU 1556 Color the ball 树状数组 题解
    JMeter使用记录2 -- Web測试
    C++编程
    矩阵树定理速证
    DM816x算法具体解释--之OSD
    哥尼斯堡的“七桥问题”(25分)(欧拉回路,并查集)
  • 原文地址:https://www.cnblogs.com/zerotoinfinity/p/12801850.html
Copyright © 2011-2022 走看看