二、python入门

什么是计算机语言

  • 计算机就是一台用来计算的机器,人让计算机干什么计算机就干什么,但是需要通过计算机的语言来控制计算机(编程语言)
  • 计算机语言的发展经历了三个阶段:
    • 机器语言:通过二进制编码来编写程序,执行效率高,但编写麻烦
    • 汇编语言:使用符号来代替机器码,编写完成后,需要将符号转换为机器码,然后再由计算机执行,符号转换为机器码的过程称为汇编。但是汇编语言一般只适用于某些硬件,兼容性比较差。
    • 高级语言:高级语言的语法基本和现在的英语语法类似,并且和硬件的关系没那么紧密了。

编译型语言和解释型语言

  • 编译型语言:会在代码执行前,将代码编译为机器码,然后将机器码交由计算机执行。执行速度快,但跨平台性比较差。
  • 解释型语言:不会在执行前进行编译,而是一边执行,一边编译。执行速度较慢(现在硬件条件越来越好,所以也没慢多少),但是跨平台性好。

Python介绍

Python是解释型语言,其设计哲学是简洁、易读。

Python的用途:

  • WEB应用
  • 编写爬虫
  • 科学计算
  • 自动化运维
  • 大数据
  • 云计算
  • 人工智能

基本概念

  • 表达式:类似于数学公式的东西,一般仅仅用来计算一些结果。
  • 语句:在程序中语句一般需要完成某种功能,比如打印信息、获取信息、为变量赋值…
  • 程序(program):程序由语句和表达式构成
  • 函数(function):专门用来完成特定的功能。分为内置函数和自定义函数。

基本语法

  • 严格区分大小写
  • python中的每一行就是一条语句(以换行结束)
  • python中每一条语句不要过长(规范中建议每行不要超过80字符)
    可以使用反斜杠开分开一行
    print('5454515215156465456\
    456')
    
  • python是缩进严格的语言:不要随便缩进!!
  • 注释:使用#来表示注释。习惯上,#号后面跟一个空格

字面量和变量

  • 字面量就是一个一个的值:1,2.1,‘Hello’
    字面量所表示的就是它的字面的值,在程序中可以直接使用字面量

  • 变量(variable)可以用来保存字面量,并且变量中保存的字面量是不定的
    变量本身没有任何意思,它会根据不同的字面量表示不同的意思

变量和标识符

变量:

  • python中使用变量,不需要声明,直接赋值
  • 在使用变量前,需要赋值
  • python是动态类型的语言,可以为变量赋任意类型的值,也可以任意修改变量的值

标识符:

  • 在python中所有可以自主命名的内容都属于标识符,比如变量名、函数名、类名
  • 标识符必须符合规范:
    · 标识符中可以含有字母、数字、下划线,但是不能以数字开头
    · 标识符不能是python中的关键字和保留字

命令规范:

  • 下划线命名法:所有字母小写,单词之间使用下划线分割。例如:max_length
  • 驼峰命名法: 每个单词首字母大写,其余字母小写。例如:MaxLength

数据类型

数据类型指的是变量的值的类型,也就是为变量赋哪些值

数值型

整数:

  • python中所有的整数都是int类型;
  • 整数的大小没有限制,可以是一个无限大的数
  • 可以使用下划线来分割一个很长的数字
a = 1_000_000
print(a)
  • 其它进制的整数:二进制0b开头,八进制0o开头,十六进制0x开头

浮点数:

  • 在python中,所有小数都是float类型
  • 对浮点数进行运算时,有可能得到一个不精确的结果
    在这里插入图片描述

字符串型:

  • 字符串用来表示一串文本信息,字符串是程序中使用的最多的数据类型。

  • 在python中字符串需要用引号引起来。可以是单引号,也可以是双引号。但是不要混着用,引号必须成对。

  • 引号可以嵌套,但是嵌套的引号必须是不同的。

    print("子曰:‘学而时习之,不亦乐乎’")
    
  • 引号不能跨行使用,除非使用反斜杠分隔

    print('锄禾日当午,\
    汗滴禾下土,\
    谁知盘中餐,\
    粒粒皆辛苦。')
    
  • 三重引号可以跨行使用,并且保留字符串的格式

    s = '''锄禾日当午,
    汗滴禾下土,
    谁知盘中餐,
    粒粒皆辛苦。'''
    print(s)
    

    在这里插入图片描述

  • 转义字符:使用反斜杠作为转义字符

    print("子曰:\"学而时习之,不亦乐乎\"")
    print('锄禾日当午,\n汗滴禾下土,\n谁知盘中餐,\n粒粒皆辛苦。')
    

    在这里插入图片描述

转义字符含义
\’单引号
\"双引号
\\反斜杠
\n换行
\t制表符
\uxxxxunicode编码的xxxx代表的字符
  • 格式化字符串
    • 可以使用+号拼接字符串。(但在python中不常见,因为字符串不能和其它类型的值相加)
      a = "hello"
      print("a = " +)
      
    • print函数可以放两个参数,这两个参数没有类型的要求
      a = 123
      print("a =", a)  # 自带空格进行分隔
      
    • 用字符串的占位符
        s = "1232 %s"%"123"
        t = "Hello %s Hello %s"%("孙悟空", "唐僧")
        e = "Hello%3s"%("12")  # 最少为3个字符,不够的话用空格代替
        g = "Hello%3.5s"%"12345678" # 最少3个字符,最多5个字符,多了截去
        f = "Hello%3.5s"%12.3456789
        h = "Hello%3.5f"%12.3456789
        print(s)
        print(t)
        print(e)
        print(g)
        print(f)
        print(h)
      
      在这里插入图片描述
    • 格式化字符串
      在字符串前加个f可以创建一个格式化字符串
      在格式化字符串中可以直接嵌入变量
      b = "xiaoxin"
      a = f"Hello {b}"
      print(a)
      
    • 练习:用这四种方式显示"欢迎 xiaoxin 光临"
      name = "xiaoxin"
      print("欢迎 " + name + " 光临")
      print("欢迎", name, "光临")
      print("欢迎 %s 光临"%name)
      print(f"欢迎 {name} 光临")
      
  • 字符串的复制(将字符串和数字相乘)
    a = "abc"
    a = a * 5
    print(a)
    

布尔值(bool)

  • 布尔值主要用来做逻辑判断
  • 一共两个值,True和False
  • 布尔值实际上也相当于整型,1为True,0为False

None(空值)

就是什么也没有的值

类型检查

函数 type(),用来检查值的类型

a = 123
b = "123"
print(a)
print(b)
print(type(a))
print(type(b))

在这里插入图片描述

对象

  • python是一门面向对象的语言!! 一切皆对象

  • 每个对象中保存三种数据:id、type、value

    id:标识对象的唯一性,CPython中,其实就是内存地址。用id()函数查看。对象一旦创建,则不能改变。

    type:表示对象所属的类型:int、str、float、bool…类型决定了对象具有的功能。python是强类型语言,对象一旦创建,类型不能改变。用type()函数查看类型。

    value:值就是对象中存储的具体数据。可变对象的值可以改变,不可变对象的值不能改变(目前学的都是不可变对象)。

变量与对象

  • python中,变量相当于是给对象起了个别名。
  • 变量中并没有保存值,而是对象的id,方便通过对象id找到该对象。
  • 变量中保存的对象,只有在为变量重新赋值时才会改变。
  • 变量和变量之间是相互独立的,修改其中一个,不会改变另一个。

类型转换

  • 所谓类型转换,就是将一个类型的对象,转换成另一个类型的对象。

  • 所谓的转换,其实是创建了一个新的对象,并返回了新对象的id

  • 类型转换一共四个函数:int()、str()、float()、bool()

  • int():将其他类型的函数转换为整型

    布尔型:True变为1,False变为0
    浮点型:截取整数部分
    字符串型:
    	字符串是合法的整数表示:直接转换
    	字符串不是合法的整数表示:报错
    None型:报错
    
  • float() 和 int() 基本一致,不同的是它转换成浮点数。而且,float() 可以将整型表示的字符串转换为浮点数,但是int() 不能将浮点型表示的字符串转换为整型。

  • str() 将对象转换为字符串类型的对象。

  • bool() 将对象转换为布尔值类型的对象。任何类型的对象都可以转

    所有表示为空性的对象(0,0.0,''、None),都会转换为False。
    其余的表示都会转换为True。
    

运算符(操作符)

  • 运算符可以对一个值或多个值进行运算或各种操作

  • 运算符的分类:

    算术运算符
    赋值运算符
    比较运算符(关系运算符)
    逻辑运算符
    条件运算符(三目运算符)
    
  • 算术运算符:

    +:加法运算,如果是两个字符串,则做字符串拼接操作
    -:减法运算
    *:乘法运算,如果字符串和整数相乘,则会将字符串重复指定次数
    /:除法运算,运算时总会返回一个浮点类型
    //:整除运算符,返回除法操作后的整数
    %:除余运算符,返回除法操作的余数
    **:幂运算符,做幂运算
    
  • 赋值运算符

    =:将等号右侧的值赋给等号左侧的变量
    +=:a += 5 等价于  a = a + 5
    -=:a -= 5 等价于 a = a - 5
    *=:a *= 5 等价于 a = a * 5
    /=:a /= 5 等价于 a = a / 5
    **=: a **=5 等价于 a = a ** 5
    //=: a //= 5 等价于 a = a // 5
    %=:a %=5 等价于 a = a % 5
    
  • 关系运算符
    比较两个操作数的关系。关系运算符总会返回一个布尔值。
    不支持字符串跟数值比,但是字符串可以跟字符串比

    >  大于
    <  小于
    ==  等于
    >=  大于等于
    <=  小于等于
    != 	不等于
    

    以上比较均是比较对象的值,如果要比较对象的id,可以使用 is 或者 is not 关键字

    a = 1
    b = 2
    print(a is 1)
    

    关系运算符可以连用:

    result = 1 < 2 < 3 # 等于 1 < 2 and 2 < 3
    result = 10 < 20 > 15 # 等于 10 < 20 and 20 > 15
    
  • 逻辑运算符

    逻辑运算符主要用来做一些逻辑判断

    not  逻辑非:对符号右侧的值进行非运算。对于布尔值,True变成False,False变为True。
    	 对于非布尔值,会先转换为布尔值再做非运算。
    and  逻辑与:如果有非布尔值的操作数,同样地也会将其转换为布尔值来参加运算。
    	 python中的与运算是短路与运算。
    or   逻辑或:对符号两侧的值进行或运算。如果有非布尔值参加运算,同样也会先转换为布尔值。
    	 python中的或运算是短路或运算。
    

    注意:如果参与运算的两侧都是非布尔值,则返回能够结束运算的最后一个值。例如 1 and 2 则返回 2。因为运算到达 2 的时候才能确定这个式子的结果,而 0 and 1 返回 0,因为短路运算,到0的时候就能确定式子的结果了。

  • 条件运算符(三目运算符)
    语法:

    语句1 if 条件表达式 else 语句2
    

    获取a和b中的较大值:

    a = 10
    b = 20
    max = a if a > b else b
    
  • 运算符的优先级
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值