首页 > 技术文章 > Python入门(一)

zhangdadayou 2019-07-01 20:40 原文


1 python历史

  1. 1991年python编译器诞生它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  2. 2004年最流行的WEB框架Django 诞生

2 python是什么编程语言

  1. 编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、

    强类型定义语言和弱类型定义语言,我们主要通过编译型和解释性来划分Python是什么编程语言

  2. 编译型和解释型

    • 编译型:只翻译一次(代表C)
      • 优点:执行速度快
      • 缺点:开发速度慢
    • 解释型:逐行翻译(代表python)
      • 优点:开发速度快
      • 缺点:执行速度慢
  3. 动态语言与静态语言

    • 动态语言:代码运行的时候去做类型检查的语言(python、ruby)
    • 静态语言:代码变异的时候去做类型检查的语言(c++、c#、java)
  4. 强类型/弱类型定义语言

    • 强类型定义语言:一个变量指定一种数据类型,不强制转换,就永远是这个数据类型
    • 弱类型定义语言:一个变量可以赋不同数据类型的值。
  5. python的种类

    • Cpython:Python的官方版本,使用C语言实现,运行在Python虚拟机上
    • Jyhton:Python的Java实现,在JVM上运行
    • IronPython:Python的C#实现,在CLR上运行
    • PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码

3 变量

  1. 什么是变量?

    • 变量是将临时的值存储到内存中(临时存储值)
      
  2. 变量如何使用?

    • age=18  age 变量名   = 赋值符   18 值
      
  3. 变量在哪里用?

    • 变量在我们后期编程中经常会被使用
  4. 变量命名规则:

    • 变量名由字母,数字,下划线组成
    • 变量名禁止使用数字开头
    • 禁止使用Python中的关键字以及内置函数的名字
    • 不建议使用中文和拼音
    • 变量名要具有意义
    • 变量名区分大小写
    • 推荐写法:
      • 驼峰体: AgeOfOldboy = 56
      • 下划线:age_of_oldboy = 56

4 常量

  1. 什么是常量?
    • 常量就是将变量名大写,尽量保持不更改的一种量

5 注释

  1. 单行注释:#
  2. 多行注释:""''内容""" '''内容'''
  3. 被注释的内容是不会执行的 注释快捷键:CTRL+/

6 数据类型

  1. 整型(int):用于计算和比较
  2. 字符型(str):在python中只要是用引号引起来的就是字符串
    • 加法 -- 同是字符串才能相加
    • 乘法 -- 只能和数字进行相乘
  3. 布尔值(bool):返回真假值 用于判断 True False

7输入(input)

  1. input格式

    • # x=input("提示内容")
      x 变量名
      
  2. 注意:input获取到的内容全都是字符串

    int() -- 将字符串中的数字转换成整型

    type() -- 查看数据类型

8 if语句

  1. if 语句格式:

    • # if 条件: (如果条件成立,则执行“结果”)
      #     结果
      #多个if语句,不管if条件是否成立都会执行后面的if
      例子:if 3>2:
         print("a")
      
  2. if...else语句格式:

    • # if 条件: (如果if条件成立,则执行“结果1”)
      #         结果1
      # else:(如果条件if条件不成立,则执行“结果2”)
      #         结果2
      例子:
      if 3>2:
      	print("a")
      else:
      	print("b")
      
  3. if...elif...elif语句格式:

    • # if 条件1: (如果条件1成立,则执行“结果1”)
      #         结果1
      # elif 条件2:(如果条件2成立,则执行“结果2”)
      #         结果2
      # elif 条件3:(如果条件3成立,则执行“结果3”)
      #         结果3
      #如果条件1成立,则不执行条件1以后的代码,以此类推如果条件1不成立,条件2成立,则不执行条件3
      # 例子:
      if 3>2:
      	print("a")
      elif 5>8:
      	print("b")
      elif 5<6:
      	print("c")
      
  4. if...elif...else格式:

    • # if 条件1: (如果条件1成立,则执行“结果1”)
      #         结果1
      # elif 条件2:(如果条件2成立,则执行“结果2”)
      #         结果2
      # else:(如果条件1,条件2都不成立,则执行结果3)
      #         结果3
      #假如条件1成立,则不执行以后的语句,假如条件1和条件2都不成立,则执行结果3语句
      # 例子:
      if 3>2:
      	print("a")
      elif 5>8:
      	print("b")
      else:
      	print("c")
      
  5. if嵌套格式:

    • # if 条件1: (如果条件1成立,则执行下面条件2语句)#     if 条件2:(在条件1成立情况下,判断条件2是否成立;成立执行结果2)
      #         结果2
      #     else:(条件1成立,条件2不成立,执行结果3)
      #         结果2
      # else:(如果条件1不成立,执行结果3)
      # 	结果3
      # 例子:
      sex = "女"
      age = 35
      if sex == "女": 
      	if age == 35:
          	print("a")
          else:
          	print("b")
      else:
      	print("c")
      
  6. if 嵌套 进行多层判断 一般if嵌套写三层就可以了

9其他知识点

  • and 和 and前后都为真才是真
  • type 查看数据类型
  • int("5") 将字符串5转换成整型
  • str(5) 将整型转换成字符串
  • == 判断前后是否相等

10 while循环

  1. while循环格式:

    while 条件:(判断条件是否成立,成立则执行循环体,否则就不执行)

    循环体(条件成立,要执行的语句)

    例子

    x=0 #定义变量x 并赋值为0
    while x<=5: #判断x<=5是否成立,成立则执行下面循环体,否则就不执行
    print(x) #输出x值
    x=x+1 #x+1的值,赋值给x,然后回到条件语句 再次判断条件是否成立
2.    0=False,非0为True;空字符串为False,不为空字符串为True
        -    print(bool(0))
        -    print(boole(1))

3.    break和continue
        -    break(终止本次循环)
        -   ```
while 1:#0是False(不成立),非0是True(成立 也称为死循环) 
	print(1)#输出1
	break#终止循环 
    #结果为:1  ```


        -    continue:跳出本次循环,执行下一次循环(将continue伪装成循环体中的最后一个行代码)
        -    ```
while True:#条件为死循环,执行下面循环体
    print(11)#输出11
    print(22)#输出22
    continue#跳出本次循环,执行下一次循环,不执行下面语句
    print(33)
    print(44)
    #结果:11 22...
  1. TODO
    • 打断循环的方式:手动修改条件、break
    • break和continue相同之处都不执行它们以下的语句

11 字符串格式化

  1. 格式化简介:我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串‘,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

    在Python中,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。

  2. 格式化格式:

    • x=("Name:%s,Age:%s,Job:%s")#%用来格式化字符串,s将任何数据格式转换成字符串
      print(x%("11","22","33"))#数据要一一对应,不能多也不能少
      #结果:Name:11,Age:22,Job:33
      
      print("Name:%s,Age:%s,Job:%s"%(input(),input(),input()))
      
  3. %%代表转义成%

    • print("学习成绩:%s%%"%(input("成绩")))
      #输入20 输出结果:学习成绩:20%
      
  4. f 格式化格式

    • s = f"{1}{2}{3}"#f"xxxx{ 替换字段 }xxx";
      print(s)
      #输出结果 1 2 3
      
  5. TODO

    • # %s 是占的字符串类型的位置
      # %d 是占的数字类型的位置
      # %% 转换成普通的%号
      # 按照位置顺序传递,占位和补位必须要一一对应
      

12 运算符

  1. 算数运算符

    • # +
      # -
      # *
      # / python2获取的值是整数,python3获取的是浮点数(小数2.5)
      # print(5/2)
      # //(整除-- 地板除)
      # print(5 // 2)
      # ** 幂(次方)
      # print(3**2)
      # % 模 (取余)
      
  2. 比较运算符

    • # >
      # <
      # == (等于)
      # != (不等于)
      # >=
      # <=
      
  3. 赋值运算符

    • # = 赋值
      # += 自加
      # a = 10
      # a += 1 # a = a + 1
      # print(a)
      # -= 自减
      # *= 自乘
      # a = 10
      # a *= 2  # a = a * 2
      # print(a)
      # /=
      # //=
      # **=
      # %=
      
  4. 逻辑运算符

    • # and (与/和)
      # or (或)
      # not (非)
      #执行顺序 ()、not、and、or
      
      #and 两个值都为真的时候才为真
      print(3 and 4) #先判断第一个值是否为真,为真判断第二个值是否为真,不为真,则结果是假,结果为第一个值;第二个值为真,则结果为真 结果为第二个值,第二个值为假,则结果为假,结果为第二个值
      #结果 4
      
      #or 只要2个值中一个为真则为真
      print(1 or 0)#先判断第一个是否为真,为真则结果为真,输出第一个值,为假,则判断第二个值是否为真,不为真,则是假,输出第二个值
      
      #not 取相反值 假如为真 not真 则结果为假
      
  5. 成员运算符

    • # in  存在
      # not in 不存在
      
      # s = "alexdsb"
      # if "sb" not in s:#判断sb 是否存在s字符串中
      #     print(True)
      # else:
      #     print(False)
      

13 编码初始

  • #ascii:(美国) 只能显示英文、数字、特殊字符 占8位
    #gbk:(国标) 只能用于中文和ascii中的文字 英文占8位 中文占16位
    #unicode:(万国码)英文占16位 中文占32位
    #utf-8:(可变长的编码)英文占8位 欧文16位 中文24位
    
    
    # 单位转换:
    # 1字节 = 8位
    # 1Bytes = 8bit 
    # 1024Bytes = 1KB
    # 1024KB = 1MB
    # 1024MB = 1GB
    # 1024GB = 1TB  *** TB就够用了
    # 1024TB = 1PB
    # 1024PB = 1EB
    

推荐阅读