• python学习笔记(一)-基础知识


    O、解释型语言和编译型语言
      编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以。
      解释型语言就是程序在运行的时候,通过一个解释器,把代码一句一句的翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说python、shell、ruby、java、perl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快。

      脚本语言就是指这个语言只有一个单一的功能。比如:shell、js。

    一、运行 hello_world.py 时发生的情况
      print("Hello world!")
      运行文件上述代码时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。 Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
      注意:1、python2中不同,print "hello world!" ;

         2、python2中要在开头部分加入:#coding=utf-8。

         3、python3默认的字符集是Unicode,#python2里面默认的字符集是 ascii。

    二、变量

      message = "Hello world!"
      print(message)
      上述代码中,添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本“ Hello world!”。
      添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“ Hello  world!”与变量message关联起来;而处理第2行代码时,它将与变量message关联的值打印到屏幕。
      

      变量的命名规则:
      1、变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

      2、变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
      3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。如下图:

      

      好的建议:

      1、变量名应既简短又具有描述性。例如, name比n好, student_name比s_n好, name_length比length_of_persons_name好。
      2、慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

     三、单引号、双引号和三重引号

       在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。甚至是三重引号来表示。
      单引号:msg = "I'm Sriba."   #有单引号,所以外面用双引号

      双引号:'Python comments ues "#".'   #有双引号,所以外面用单引号

      三引号:'''I'm Sriba, i love "Python".'''  #有双引号和双引号,所以外面用三引号

      '''
      上面的代码是说明单引号、双引号和三引号的
      这一段是注释,说明三引号也有多行注释的功能
      '''

    四、输入input()函数

      函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后, Python将其存储在一个变量中,以方便你使用。  

    message = input("Tell me something, and I will repeat it back to you: ")
    print(message)

      函数input()接受一个参数:即要向用户显示的提示或说明,让用户知道该如何做。在这个示例中, Python运行第1行代码时,用户将看到提示Tell me something, and I will repeat it backto you:。程序等待用户输入,并在用户按回车键后继续运行。输入存储在变量message中,接下来的print(message)将输入呈现给用户。

      注意:python2中使用raw_input,接收的是一个字符串。


    五、if语句

      每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。 Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False, Python就忽略这些代码。
      简单的 if 语句
      if conditional_test:
        do something
      在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True, Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。
      if-else 语句
      经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。 if-else语句块类似于简单的if语句,但其中的else语句让你能够指定条件测试未通过时要执行的操作。

      sex = input('请输入你的性别:')
    
      if sex=='' or sex=='':
        print('ok的')
      else:
        print('人妖')

      if-elif-else 结构

      经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。 Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后, Python将执行紧跟在它后面的代码,并跳过余下的测试。  

    score = input('请输入你的分数:')
    score = int(score)
    if score<60:
        print('不及格')
        if score>50:
            print('hahah')
        elif score<50:
            print('小傻瓜')
        else:
            print('-------')
    elif score>=60 and score<80:
        print('及格')
    elif score>=80 and score<90:
        print('良好')
    else:
        print('优秀')

    六、循环

      循环就是重复替你去干。循环需要指定一个循环结束条件,python提供两个关键字可以直接推出循环。

      continue: 结束本次循环,继续进行下一次循环
      break: 结束整个循环

      pyhon中又两种循环,while循环和for循环。

      while 循环
      while循环不断地运行,直到指定的条件不满足为止。用while循环的,那么必须得有计数器。

    count = 0 #计数器
    while count<3:
        username = input('plz enter your userame:')
        pwd = input('plz enter your pwd:')
        if username=='nhy' and pwd=='123456':
            print('欢迎光临')
            continue
        else:
            print('账号/密码错误!')
        count+=1
    else:
        print('错误次数过多')

      for循环

      for循环能够帮助我们做很多重复性的事情,比如批量命名、批量操作等。可以把for循环所做的事情概括成一句话就是:于...其中的每个元素,做...事情

    import random
    random_num = random.randint(1,1000)
    for i in range(3):
        num = int(input('请输入你猜的数字:'))
        if num>random_num:
            print('你猜的太大了')
        elif num<random_num:
            print('太小了')
        else:
            print('恭喜你猜对了,答案是:',random_num)
            break

    循环应用猜数字游戏:

    import random
    random_num = random.randint(1,1000)
    # print(random_num)
    while True:
        num = int(input('请输入你猜的数字:'))
        if num>random_num:
            print('你猜的太大了')
        elif num<random_num:
            print('太小了')
        else:
            print('恭喜你猜对了,答案是:',random_num)
            break

    七、字符串格式化

      什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

        name = input('请输入你的名字:')
        print('你的名字是'+name) #使用加号连接
        print('你的名字是%s'%name)#使用占位符  
        print('你的名字是{your_name}'.format(your_name=name)) #使用format格式化输出,{}里面的名字可以随便写但是要和后面的format中的名字保持一致,然后再把你前面定义的变量写到等号后面就可以了。
        age = 18
        print('我的名字是%s,年龄是%d岁.'%(name,age))#这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号
  • 相关阅读:
    linux配置显示git分支名
    tensorrt int8量化原理几点问题记录
    cuda Global Memory Access
    cuda shared memory bank conflict
    一种简单的死锁检测算法
    n = 5x+2y+z,程序优化:unroll loop
    c++ detect && solve integer overflow
    Tensorpack.MultiProcessPrefetchData改进,实现高效的数据流水线
    tensorflow layout optimizer && conv autotune
    python 产生token及token验证
  • 原文地址:https://www.cnblogs.com/lincy/p/8071771.html
Copyright © 2020-2023  润新知