zoukankan      html  css  js  c++  java
  • 05.Python学习笔记之-条件、循环和其他语句

    import语句

    在 python 用 import 或者 from...import 来导入相应的模块。

    将整个模块(somemodule)导入,格式为: import somemodule

    从某个模块中导入某个函数,格式为: from somemodule import somefunction

    从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

    将某个模块中的全部函数导入,格式为: from somemodule import *

    python的标准库地址:https://docs.python.org/zh-cn/3/library/index.html

    第三方模块集合:https://pypi.org/

    查询模块及模块里的函数使用方法

    dir的作用:

    shell提供在>>>提示窗口使用的两个交互式函数。dir会显示Python中与某个东西相关的所有属性,包括模块

    help的作用:

    请求相关模块中相关函数的帮主文档  help(os.kill)  就是请求os模块中kill函数的帮主文档

    >>> dir(os)
    ['DirEntry', 'F_OK', 'MutableMapping', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'PathLike', 'R_OK', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'W_OK', 'X_OK', '_AddedDllDirectory', '_Environ', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_execvpe', '_exists', '_exit', '_fspath', '_get_exports_list', '_putenv', '_unsetenv', '_wrap_close', 'abc', 'abort', 'access', 'add_dll_directory', 'altsep', 'chdir', 'chmod', 'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding', 'devnull', 'dup', 'dup2', 'environ', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fdopen', 'fsdecode', 'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'get_exec_path', 'get_handle_inheritable', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getenv', 'getlogin', 'getpid', 'getppid', 'isatty', 'kill', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'makedirs', 'mkdir', 'name', 'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', 'putenv', 'read', 'readlink', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'scandir', 'sep', 'set_handle_inheritable', 'set_inheritable', 'spawnl', 'spawnle', 'spawnv', 'spawnve', 'st', 'startfile', 'stat', 'stat_result', 'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink', 'sys', 'system', 'terminal_size', 'times', 'times_result', 'truncate', 'umask', 'uname_result', 'unlink', 'urandom', 'utime', 'waitpid', 'walk', 'write']
    >>> help(os.kill)
    Help on built-in function kill in module nt:
    
    kill(pid, signal, /)
        Kill a process with a signal.

     别样的赋值

    1.序列解包
    >>> x,y,z=1,2,3
    >>> print(x,y,z)
    1 2 3

    可以多个赋值同时操作。

    2.链式赋值
    >>> x=y=z=10
    >>> x
    10
    >>> y
    10
    >>> z
    10

    可以通过等式为多个变量赋同一个值,这种方法叫坐链式赋值。

    3.增量赋值

     x=x+1 写成 x+=1 这种写法在Python中叫做增量赋值

    >>> x = 5
    >>> x+=1
    >>> x
    6
    >>> x-=2
    >>> x
    4

    增量赋值也可以用于字符串

    >>> a = 'hello'
    >>> a +='world'
    >>> a
    'helloworld'

    流程控制之if判断

     注意:

    1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。

    2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

     if语句举例:

    age = input('请输入你的年龄:')
    age = int(age)
    if age <= 18:
        print('美好的年龄')
    elif age <= 30:
        print('成年人')
    else:
        print('老年人')

     if 嵌套

    在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

    if 表达式1:
        语句
        if 表达式2:
            语句
        elif 表达式3:
            语句
        else:
            语句
    elif 表达式4:
        语句
    else:
        语句

     例子:

    num=int(input("输入一个数字:"))
    if num%2==0:
        if num%3==0:
            print ("你输入的数字可以整除 2 和 3")
        else:
            print ("你输入的数字可以整除 2,但不能整除 3")
    else:
        if num%3==0:
            print ("你输入的数字可以整除 3,但不能整除 2")
        else:
            print  ("你输入的数字不能整除 2 和 3")

    流程控制之while循环

    while循环
    while 条件:
    代码1
    代码2
    代码3

    例子:while循环
    a = 100
     
    sum = 0
    counter = 1
    while counter <= a:
        sum = sum + counter
        counter += 1
     
    print("1 到 %d 之和为: %d" % (a,sum))

      例子:while循环使用else语句

    在 while … else 在条件语句为 false 时执行 else 的语句块:

    count = 0
    while count < 5:
       print (count, " 小于 5")
       count = count + 1
    else:
       print (count, " 大于或等于 5")

     与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    
    Loop 1
    Loop 2
    -----out of while loop ------

     break和continue语句

     1.break

    break语句可以跳出 for 和 while 的循环体,如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:(下面以while循环举例)

    var = 10
    while var > 0:
        print('当前的变量值为 :',var)
        var -= 1
        if var == 5:
           break
    print("bye bye!")
    输出内容如下:

    当前的变量值为 : 10
    当前的变量值为 : 9
    当前的变量值为 : 8
    当前的变量值为 : 7
    当前的变量值为 : 6
    bye bye!

    2.continue

    continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

    var = 10
    while var > 0:
        var -= 1
        if var == 5:    #变量为5时跳过输出
            continue
        print('当前变量值 :',var)
    print('bye bye')

    输出内容如下:

    当前变量值 : 9
    当前变量值 : 8
    当前变量值 : 7
    当前变量值 : 6
    当前变量值 : 4
    当前变量值 : 3
    当前变量值 : 2
    当前变量值 : 1
    当前变量值 : 0
    bye bye

    流程控制之for循环

    for循环

    Python的for循环可以遍历任何序列的项目,如一个列表或字符串等。

    >>> city = ['Beijing','Shanghai','Shenzhen']
    >>> for i in city:
        print(i)
    
        
    Beijing
    Shanghai
    Shenzhen
    循环遍历字典元素

    例子:

    >>> a = {'name':'zhangsan','age':'18'}
    >>> for i in a:
        print('%s:%s'%(i,a[i]))
    
        
    name:zhangsan
    age:18

    for循环使用序列解包遍历字典

    >>> tups = {'name':'zhangsan','age':'18'}
    >>> for key,value in tups.items():
        print('%s:%s'%(key,value))
    
        
    name:zhangsan
    age:18

    迭代工具

    在Python中,迭代序列或其他可迭代对象时,有一些函数非常有用。

    并行迭代
    >>> student=['zhangsan','lisi','wangwu']
    >>> number=[001,002,003]
    >>> for i in range(len(student)):
        print(student[i],'的学号是:',number[i])
    
        
    zhangsan 的学号是: 1001
    lisi 的学号是: 1002
    wangwu 的学号是: 1003
    zip函数

    在python中,内建的zip函数用来进行并行迭代,可以把两个蓄力合并在一起,返回一个元组的列表。

    例子:

    >>> student=['zhangsan','lisi','wangwu']
    >>> number=[1001,1002,1003]
    >>> for name,num in zip(student,number):
        print(name,'的学号是:',num)
    
        
    zhangsan 的学号是: 1001
    lisi 的学号是: 1002
    wangwu 的学号是: 1003

    zip函数可以用于任意数量的序列,并且可以应付不等长的序列,当短序列‘用完’时就会停止

    >>> for num1,num2 in zip(range(3),range(100)):
        print('zip键值对为:',num1,num2)
    
        
    zip键值对为: 0 0
    zip键值对为: 1 1
    zip键值对为: 2 2
    反转和排序迭代

    断言

    在Python中, 有一个和if语句工作方式非常相近的关键字,其工作方式类似如下伪代码:

    if not condittion:
    
       crash program

    在没完善一个程序之前,我们不知道程序会在哪里出错,与其在运行时崩溃,不如在出现错误条件时就崩溃。一般来说,可以要求一些条件必须为真。在Python中,assert关键字能实现这种工作方式。

    例子:

    >>> x  =3
    >>> assert x > 0,'x is not zero or negative'
    >>> assert x %2 ==0,'x is not an even numbner' #提示x不是偶数
    Traceback (most recent call last):
      File "<pyshell#34>", line 1, in <module>
        assert x %2 ==0,'x is not an even numbner'
    AssertionError: x is not an even numbner

    由上你面的输出可以看到,当assert后的条件为真时,程序正常运行;当assert后面的条件为假时,输出错误信息。错误提示信息由我们自己定义,这个错误提示信息可以称为异常参数。assert的异常参数是在断言表达式后添加的字符串信息,用来解释断言并更容易知道问题出在哪里。

    使用assert断言时,注意一下几点:

    1. assert断言用来声明某个条件是真的。
    2. 如果你非常确定你使用的列表中只是少有一个元素,想要检验这一点,并在它非真时引发一个错误,那么assert语句是应用在这种情况下理想的语句。
    3. assert语句失败时,会引发一个AssertionError。
    也许世上本没有幸运二字,只有那些给自己提出严格的要求,并且以高度自律逼自己完成的人,才能得到别人眼里的心想事成。
  • 相关阅读:
    HeadFirst学习笔记-1. 设计模式入门(转载)
    【译】StackExchange.Redis 中文文档目录(转载)
    Redis基础篇(一)数据类型与数据结构(转载)
    Redis基础(二)数据库(转载)
    Redis基础篇(八)数据分片(转载)
    Redis基础篇(七)哨兵机制(转载)
    Redis基础篇(六)数据同步:主从复制(转载)
    Python特点
    Python发展历史
    Python基础
  • 原文地址:https://www.cnblogs.com/shigozsr/p/13124089.html
Copyright © 2011-2022 走看看