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。
也许世上本没有幸运二字,只有那些给自己提出严格的要求,并且以高度自律逼自己完成的人,才能得到别人眼里的心想事成。
原文地址:https://www.cnblogs.com/shigozsr/p/13124089.html