• python_day1学习笔记


    一、Python 2.7.x 和 3.x 版本的区别小结

    •  print函数

    1、python2

    1 import platform
    2 
    3 print ‘Python’, platform.python_version()
    4 print ‘Hello, World!’
    5 print(“Hello,World!’)
    6 print "text", ; print 'print more text on the same line'
    输出结果:
    1
    Python 2.7.6 2 Hello, World! 3 Hello, World! 4 text print more text on the same line

    2、python3

    1 import platform
    2 
    3 print('Python', platform.python_version())
    4 print('Hello, World!')
    5 
    6 print("some text,", end="") 
    7 print(' print more text on the same line')
    结果输出:
    1 Python 3.5.1
    2 Hello, World!
    3 some text, print more text on the same line
    1 >>> print 'Hello,World!'
    2   File "<stdin>", line 1
    3     print 'Hello,World!'
    4                        ^
    5 SyntaxError: Missing parentheses in call to 'print'

     注意:

    在Python 2中使用额外的括号也是可以的。但反过来在Python 3中想以Python2的形式不带括号调用print函数时,会触发SyntaxError。

    • 整数除法

     1、python2

    1 print '3 / 2 =', 3 / 2
    2 print '3 // 2 =', 3 // 2
    3 print '3 / 2.0 =', 3 / 2.0
    4 print '3 // 2.0 =', 3 // 2.0
    结果输出:
    1
    3 / 2 = 1 2 3 // 2 = 1 3 3 / 2.0 = 1.5 4 3 // 2.0 = 1.0

    2、python3

    1 print('3 / 2 =', 3 / 2)
    2 print('3 // 2 =', 3 // 2)
    3 print('3 / 2.0 =', 3 / 2.0)
    4 print('3 // 2.0 =', 3 // 2.0)
    结果输出:
    1
    3 / 2 = 1.5 2 3 // 2 = 1 3 3 / 2.0 = 1.5 4 3 // 2.0 = 1.0
    • 触发异常

    1、python2

    Python 2支持新旧两种异常触发语法,而Python 3只接受带括号的的语法(不然会触发SyntaxError):

    1 >>> raise IOError, "file error"
    2 Traceback (most recent call last):
    3   File "<stdin>", line 1, in <module>
    4 IOError: file error
    1 >>> raise IOError("file error")
    2 Traceback (most recent call last):
    3   File "<stdin>", line 1, in <module>
    4 IOError: file error

    2、python3

    1 >>> raise IOError, "file error"
    2   File "<stdin>", line 1
    3     raise IOError, "file error"
    4                  ^
    5 SyntaxError: invalid syntax
    1 >>> raise IOError("file error")
    2 Traceback (most recent call last):
    3   File "<stdin>", line 1, in <module>
    4 OSError: file error
    • 异常处理

    1、python2

    1 try:
    2     let_us_cause_a_NameError
    3 except NameError, err:
    4     print err, '--> our error message'
    结果输出:
    1
    name 'let_us_cause_a_NameError' is not defined --> our error message

    2、python3

    1 try:
    2     let_us_cause_a_NameError
    3 except NameError as err:
    4     print(err, '--> our error message')
    结果输出:
    1
    name 'let_us_cause_a_NameError' is not defined --> our error message

    Python 3中的异常处理也发生了一点变化。在Python 3中必须使用“as”关键字。

    • input()解析用户的输入

    Python 3改进了input()函数,这样该函数就会总是将用户的输入存储为str对象。在Python 2中,为了避免读取非字符串类型会发生的一些危险行为,不得不使用raw_input()代替input()。

    1、python2

     1 >>> my_input = input('enter a number: ')
     2 
     3 enter a number: 123
     4 
     5 >>> type(my_input)
     6 <type 'int'>
     7 
     8 >>> my_input = raw_input('enter a number: ')
     9 
    10 enter a number: 123
    11 
    12 >>> type(my_input)
    13 <type 'str'>

    2、python3

    1 >>> my_input = input('enter a number: ')
    2 enter a number: 123
    3 >>> type(my_input)
    4 <class 'str'>
    • 返回可迭代对象

    1、python2

    1 print range(3)
    2 print type(range(3))
    结果输出:
    1
    [0, 1, 2] 2 <type 'list'>

    2、python3

    1 print(range(3))
    2 print(type(range(3)))
    3 print(list(range(3)))
    结果输出:
    1
    range(0, 3) 2 <class 'range'> 3 [0, 1, 2]

    二、用户输入

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3  
    4 # 将用户输入的内容赋值给 name 变量
    5 name = raw_input("请输入用户名:")
    6  
    7 # 打印输入的内容
    8 print name
    结果输出:
    1
    >>> name = raw_input("请输入用户名:") 2 请输入用户名:yinjia 3 >>> print name 4 yinjia

    输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3  
     4 import getpass
     5  
     6 # 将用户输入的内容赋值给 name 变量
     7 pwd = getpass.getpass("请输入密码:")
     8  
     9 # 打印输入的内容
    10 print pwd
    结果输出:
    1
    >>> import getpass 2 >>> pwd = getpass.getpass("请输入密码:") 3 请输入密码: 4 >>> print pwd 5 123456

    三、while循环

    • 基本循环

    Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

    while 判断条件:
        执行语句……

    执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

    当判断条件假false时,循环结束。

    执行流程图如下:

    1 #!/usr/bin/env python
    2 
    3 count = 0
    4 while (count < 9):
    5    print 'The count is:', count
    6    count = count + 1
    7 
    8 print "Good bye!"
     结果输出:
    1
    The count is: 0 2 The count is: 1 3 The count is: 2 4 The count is: 3 5 The count is: 4 6 The count is: 5 7 The count is: 6 8 The count is: 7 9 The count is: 8 10 Good bye!
    • break

    break用于退出所有循环

     1 #!/usr/bin/env python
     2 
     3 sum = 0
     4 number = 0
     5 
     6 while number < 20:
     7       number += 1
     8       sum += number
     9       if sum >= 100:
    10             break
    11 print("The number is", number)
    12 print("The sum is", sum)
    结果输出:
    1
    The number is 14 2 The sum is 105
    • continue

    continue用于退出当前循环,继续下一次循环。

     1 #!/usr/bin/env python
     2 
     3 sum = 0 
     4 number = 0
     5 
     6 while number < 20:
     7     number += 1
     8     if number == 10 or number == 11:
     9           continue
    10     sum += number
    11 print("The sum is", sum)
    结果输出:
    1
    The sum is 189
  • 相关阅读:
    实验九:异常的抛出、捕获并处理
    声明圆锥体类,实现Area和Volume接口,计算表面积和体积,按体积比较大小。
    实验7:Student类继承Person类,并增加查找,统计功能
    类的封装:实现银行账户信息的开户,存款,取款,查询,销户操作
    输入包含十个整形类型数据的数组,将其升序排序,并输出其中的素数
    采用两个一维数组输出等腰三角形的杨辉三角
    log4net
    分页
    C#多线程编程(1):线程的启动
    把一个项目a生成后放在另一个项目b使用(b项目是例子中的ScreenWebPage_Tool)
  • 原文地址:https://www.cnblogs.com/yinjia/p/5495090.html
Copyright © 2020-2023  润新知