zoukankan      html  css  js  c++  java
  • python学习基础—day01

    一、 python是什么?   

      优势:简单, 可以跨平台
      劣势:执行效率没有C语言那么高
      python是解释型语言,逐行编译解释,在不同的系统windows与Linux,需要不同的解释器来编译。
      而编译型语言,所对应的是系统,全部编译完之后进行运行。  

      python发展史: 2.x, 3.x 

      编程语言分类: 

      1. 编译型: 执行效率高. 一次编译. 到处运行
      2. 解释型: 执行效率不如编译型. 逐行的解释执行
        一般跨平台性比较好
      3. 混合型: 先编译, 后解释执行
      编译型 -> 依赖操作系统进行编译 -> 依赖操作系统的
      解释型 -> 不依赖操作系统的. 解释器上运行. 依赖的是解释器        
    

      python常见的解释器:

        CPython: 官方
        pypy: 执行效率提高. 相当于把python变成了编译型
        IPython: 交互方式比较特别(数据分析, 机器学习, 人工智能)
        IronPython: .Net
        Jython:  java+python        
    

    二、开始第一个python

    1. 打开cmd. 输入python+回车. 进入到cmd模式
    2. 把你的代码写在py文件中. 通过python命令去执行这个文件
    
    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3 
    4 print("hello world!")  # 回车执行第一个程序
    5 exit()  # 退出
    6 >>> python3 day01.py

    三、python基础

      1.数据的基础类型(八种基础类型介绍)

         int 整数(Integer)
              str 字符串(String)
              bool 布尔值(boolean), 如:True 真,False 假 
              float 浮点数 在计算机中存储是有误差的   如: 3.1415926
              list: 列表()  一堆数据放一起. 方便操作  如:[1,2,3,4,5]
              tuple 元组()  元组是不可变的列表     如:(1,2,3,4,5)
              dict: 字典{}  一对一对的存储数据,如:{k:v,k2:v2,k3:v3}
              set: {}  去除重复数值,里面的数据不能重复  如: {1,2,3,4,5}

        

      2.变量和常量

    变量:在内存暂存数据,方便调用。
    使用变量的目的:在复杂程序调用过程,找到一个数据。
    变量值 = 值    --difined(定义)
    变量命名规范:
        (1):数字不能当变量,数字不能当开头。
        (2):不用python中的关键字。
        (3):只能用数字,字母,下划线组成(有一定含义,不出现中文,不出现拼音)
        (4):推荐使用下划线。
    
    5.常量:一般不会改变的常量。(不存在绝对常量)
    命名:全部大写字母组成,有一定含义。
    

      3.打印和输入

    input()  输入用户信息, 用户交互:
      语法:变量 = input(输入信息)   阻塞式
      input 收到数据都是字符串。
      一般情况基本数据类型转化,用数据类型()  int()    str()
    
    print() 打印变量信息
         语法:print(变量)   

      4.单行注释和多行注释

        注释:程序系统过滤,给后来人解释代码含义的。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # 单行注释

    """
    多行注释
    """

    '''
    多行注释
    '''
    """ """ 和 ‘‘‘ ’’’ 多行注释 (三个单引号 或 三个多引号) (三个多引号还可用于语句中,体现多行代码,不用换行符/n)

      5.if条件语句

        语法规则: 

          众多条件结果选一条,

          嵌套三到五层为宜。

     # 方式一(单结果判断)
    if 条件:                
       结果
    
    # 方式二
    if 条件:(分叉判断)    结果 else:    结果
    # 方式三 (多条件判断)
             if 条件1:   结果1 elif 条件2:   结果2 elif 条件3:   结果3

    # 方式四(三元表达式)
      语法:
        变量 = 结果1 if 条件 else 结果2
      过程:
        判断条件是否为真, 如果真, 返回结果1, 否则返回结果2<

      6.while 循环 

        语法: 

          当条件为真的时候,开始循环,条件为假的时候跳出循环。无限循环为死循环。

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

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

    while 条件:
        循环体
    #!/usr/bin/python
    #-*- coding:utf-8 -*-
    
    #计算: 1-3+5-7+9…99 = ?
    #number = int(input("请输入你的整数(1-3+5-7+…99):"))
    
    
    n = 1
    sum = 0
    f = 1
    while n <= 99:
        sum = sum + n*f  
        f = -f  # 在这里f永远是正1或者-1  ,主要是为了改变上面n的相反数
        n += 2
    else:  # 如果循环条件不满足的话,会自动执行else,如果遇到break中断结束则不会执行else
        print(sum)

      7.for循环和range()函数

        for语法:

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

        for … else 语法:

          for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    #打印算法(菱形算法星)
     
    for e in range(-3, 4):
        print(" " * (abs(e)) * 2 + "* " * (7 - abs(e) * 2))
    
    
    for e in range(-3, 4):
         print(("* " * (7 - abs(e) * 2)).center(14))
    
    
    # 倒三角
    # m = 7
    # for n in range(-m, m+1, 2):
    #     s = abs(n) * "*"
    #     print(s.center(m))
    
    
    
    # 打印菱形,封装一个打印菱形的函数
    # 定义一个菱形函数,必须是奇数
    i = input("请输入一个奇数:")
    
    def print_diamond(n):
        if not n.isdigit():
            print("您的输入有误,请输入一个奇数")
            j = input("请输入一个奇数:")
            print_diamond(j)
            return
        n = abs(int(n))  # 如果输入的是负奇数,记得获取它的绝对值
        if n % 2 == 0:
            print("您的输入有误,请输入一个奇数")
            j = input("请输入一个奇数:")
            print_diamond(j)
            return
        # print(-(n//2))   n//2  向上取整,是一半 7//2 = 3
        # print(abs(-n//2))  -n//2  向上取整,是一半 -7//2 = -4
        for k in range(-(n//2), abs(-n//2)):
            # print(" " * abs(k) * 2 + "* " * (n - abs(k) * 2))
            print(("* "*(n-abs(k)*2)).center(n*2))
    # 调用函数的时候,必须先定义函数,在函数下边调用,python是从上到下执行的
    
    print_diamond(i)

          

        range() 函数  

    #range(start, stop, step)
    # start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    # stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    # step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    
    >>> list(range(10))
    [0,1,2,3,4,5,6,7,8,9]

      8.break与continue与pass

        break:终止一个循环。

    1 #!/usr/bin/python
     2 # -*- coding: UTF-8 -*-
     3 
     4 n = 0
     5 while n < 20:
     6     n = n + 1
     7     if n == 8:      # 如果n是偶数,执行continue语句
     8         break        #break语句会直接结束循环,跳出循环体,后续的print()语句不会执行
     9     print(n)
    10 
    11 # 结果 1,2,3,4,5,6,7

        continue:终止当前的循环,继续执行下一个循环。

    1 #!/usr/bin/python
    2 # -*- coding: UTF-8 -*-
    3 
    4 n = 0
    5 while n < 10:
    6     n = n + 1
    7     if n % 2 == 0:      # 如果n是偶数,执行continue语句
    8         continue        # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    9     print(n)

        pass:是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    # 输出 Python 的每个字母
    for letter in 'Python':
       if letter == 'h':
          pass
          print '这是 pass 块'
       print '当前字母 :', letter
    
    print "Good bye!"
    
    
    """
    运行结果:
    
    当前字母 : P
    当前字母 : y
    当前字母 : t
    这是 pass 块
    当前字母 : h
    当前字母 : o
    当前字母 : n
    Good bye!
    """
  • 相关阅读:
    m113
    无题
    m102 SE赛
    m101 真*sb($huge 全场最瞎$)
    m100 的坑
    m99 然而并没有想出来标题!
    m98 lsc rp-- 赛
    csps2019AFO祭
    csps考前的一些总结(然而可能并没有用)
    低错总结
  • 原文地址:https://www.cnblogs.com/liucysun/p/11778100.html
Copyright © 2011-2022 走看看