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 语句块,往下执行

  • 相关阅读:
    Call KernelIoControl in user space in WINCE6.0
    HOW TO:手工删除OCS在AD中的池和其他属性
    关于新版Windows Server 2003 Administration Tools Pack
    关于SQL2008更新一则
    微软发布3款SQL INJECTION攻击检测工具
    HyperV RTM!
    OCS 2007 聊天记录查看工具 OCSMessage
    CoreConfigurator 图形化的 Server Core 配置管理工具
    OC 2007 ADM 管理模板和Live Meeting 2007 ADM 管理模板发布
    Office Communications Server 2007 R2 即将发布
  • 原文地址:https://www.cnblogs.com/zerotoinfinity/p/12801850.html
Copyright © 2011-2022 走看看