Python语言数据结构和语言结构(2)

1. Python预备基础

  • 变量的命名

    变量命名规则主要有以下几条:

    • 变量名只能包含字母、数字和下划线,其中下划线和字母可以开头,数字不行,即info_1可以,而1_info不行;
    • 变量名内不能包含空格,可以用下划线替代,即info_1,而非info 1;
    • 不能与Python内置关键字和函数名重名,这条在很多语言中都是一致的;
    • 变量名中要言简意赅,即可以用name替代n,student_name比s_n好;
    • 慎用l和o,因为这两个字母容易与1和0混淆;
  • 变量的使用

    变量在使用时一定要保证前后一致,如

    info = "Hello World!"
    print(infor)

    由于声明变量info,而打印输出的是infor,因此程序会提示infor未定义,出现NameError的错误!

  • 程序注释

    Python中的注释方法有多重,单巷注释可以使用“#”,多行或者段落注释可以使用三对' '或者" "来进行,下面注释是等效的:

    # 单行注释
    
    '''
    多
    行
    注
    释
    '''
    
    """
    多
    行
    注
    释
    """

    2. Python数据类型

  • 字符串

    • 字符串的表示

      Python语言中默认输入类型是字符串,字符串的使用有两种表示方法,即

      info_1 = 'Hello World!'
      info_2 = "Hello World!"
      print(info_1)
      print(info_2)

      上述两种方法打印结果相同。

    • 字符串处理方法

      1. 字符大小写方法 — title()upper()lower()

        info_1 = "hello world!"
        info_2 = "HELLO WORLD!"
        print(info_1.title())
        print(info_1.upper())
        print(info_2.lower())
        *****************************************************
        >> Hello  World!
           HELLO WORLD!
           hello  world!   
      2. 字符合并(拼接)方法 — +

        first_info = "Hello"
        last_info = "World"
        print(first_info + " " + last_info + "!")
        *****************************************************
        >> Hello  World!
      3. 字符空白处理方法 — rstrip()lstrip()strip()

        info = " Hello "
        info_1 = info.rstrip()
        info_2 = info.lstrip()
        info_3 = info.strip()
        
        print(info_1)
        print(len(info_1))
        print(info_2)
        print(len(info_2))
        print(info_3)
        print(len(info_3))
        *****************************************************
        >>  Hello
           6
           Hello
           6
           Hello
           5

        原字符串两侧各存在一个空格,即共7个字符,通过上述运行结果可以看出info_1去除了右侧空格,info_2去除了左侧的空格,因此两者共有6个字符的长度,而info_3两侧空格均去掉,因此是5个字符长度。

  • 整数

    Python中由于默认输入为字符类型,因此有时需要对数据类型进行转换:

    age_1 = input("please input your age :\n")
    age_2 = int(age_1)
    
    print(type(age_1),age_1)
    print(type(age_2),age_2)
    *****************************************************
    >> please input your age :
       54
       <class 'str'> 54
       <class 'int'> 54

    保证数据类型正确后,整数四则运算必不可少:

    >> 2 + 3
    *****************************************************
    5
    >> 5 - 3
    *****************************************************
    2
    >> 2 * 3
    *****************************************************
    6
    >> 6 / 4
    *****************************************************
    1.5
    >> 3 ** 2
    *****************************************************
    9
  • 浮点数

    >> 0.1 + 0.1
    *****************************************************
    0.2
    >> 2 * 0.1
    *****************************************************
    0.2
  • 不同数据整合

    整数和浮点数同存时,整数类型自动转换为浮点类型,但浮点类型或者整数类型数据与字符串类型同存时,需要进行转换,否则将会出错,因此首先需要吧浮点类型或者整数类型数据转换为字符串类型数据,因此将用到str()

    age = 18
    info = "Happy " + str(age) + "th Birthday!"
    print(message)

3. Python条件语句

  • if语句

    if mark > 60 and mark < 70:
      print("Congratualaton, you get a D level!")

    python语言中需要注意的是,不要忘记if最后一行的 :,另外根据条件多少,可以借助逻辑语句来限定条件范围,一般为and*和or两个用的较多。

  • if-else语句

    if mark > 60:
        print("Congratualaton, you pass the exam!")
    else:
        print("Sorry,you should have to study hard!")

    需要注意,else后也需要加上冒号,而且注意各个代码语句间的级别关系,这个可通过缩进解决。

  • if-elif-else语句

    当条件超过两个时,可以使用多条件判断语句:

    if mark > 90:
        print("Congratualaton, you can get A level!")
    elif mark > 80 and mark < 90:
        print("Very good, you get B level!")
    elif mark > 70 and mark < 80:
        print("Good, you get C level!")
    elif mark > 60 and mark < 70:
        print("Well, you get D level!")
    else:
        print("Sorry, you should have to study hard!")

    当然,最后的else语句可以省略,换乘elif亦可。

4. while循环和for循环

  • while循环

    _number = 10
    while _number > 20:
        _number += 1
      print(_number)

    while循环基本结构如上所示,也需要注意的是在判断条件后不要忘记冒号。

    在使用while循环时,需要注意设置合理的终止条件,避免出现无限循环;另外在使用while循环式,注意布尔运算的使用,可以在一定程度上提高代码的效率,使得代码看起来更整洁,其中布尔值应确保首字母大写,即TrueFalse

    _number = 52
    cond = True
    
    while cond:
        guess_number = int(input("Pleaw input a number:\n"))
        if guess_number > _number:
            print(str(guess_number) + " is big, you can guess a small one!\n")
        elif guess_number < _number:
            print(str(guess_number) + " is small, you can guess a big one!\n",)
        else:
            print("Congratulation, you got it!")
            cond = False
  • for循环

    首先看一段代码:

    # 代码1
    numbers = 10
    for number in range(numbers):
      print("***",number)
    
    # 代码2
    numbers = 10
    for number in range(0,numbers,2):
      print("***",number)
    
    # 代码3    
    numbers = 10
    for number in range(5,numbers,2):
      print("***",number)

    上述三个代码片段,在代码1中,着重关注下for循环的结构,其中为了方便后期记忆和查看代码,for后的临时变量最好与range内的定义变量相关,另外,不要忘记末尾的冒号;代码2和代码3中主要变化的是关键字range的使用,其中可设置首参数,即原码中的起始数字,可设置步长,代码中设置的是2 ,未设置时,程序默认步长为1。

  • breakcontinue

    break的作用是不再执行余下代码,结束当前整个循环,如果嵌套了多层循环,则break终止的是当前所在循环;相对来说continue也是不再执行余下代码,但是是继续执行下个循环。

    _number = 65
    count = 0
    
    while count < 3 :
        guess_number = int(input("guess_number: "))
    
        if guess_number == _number:
            print("you got it!")
            break
        elif guess_number > _number:
            print("The number is bigger! ")
        else:
            print("You think smaller! ")
        count += 1
    
        if count == 3:
            print("Do you want to keep guessing..? ")
            continue_confirm = input("please enter yes or no:\t")
            if continue_confirm == 'yes':
                count = 0
            elif continue_confirm == 'no':
                break
            else:
                print("Error input")
    for i in range(0,20,2):
        if i < 6 :
            print("loop",i)
        else:
            continue
        print("Check")

    Python有列表和字典,这些利用循环处理非常方便!

猜你喜欢

转载自www.cnblogs.com/linlongyu/p/9979469.html