Python语法入门

基本语法
1. 在Python中严格区分大小写;
2. Python中的每一行就是一条语句,每条语句以换行结束;
3. Python中每一行语句不要过长(规范中建议每行不要超过80个字符);
4. 一条语句可以分多行编写,多行编写时语句后边以\结尾  ;
5. Python是缩进严格的语言,所以在Python中不要随便写缩进  ;
6. 在Python中使用#来表示注释,#后的内容都属于注释,注释的内容将会被解释器所忽略,我们可以通过注释来对程序进行解释说明,一定要养成良好的编写注释的习惯,注释要求简单明了,一般习惯上#后边会跟着一个空格;
7. python中使用变量,不需要声明,直接为变量赋值即可;
不能使用没有进行过赋值的变量;
python是一个动态类型的语言,可以为变量赋值任意类型的值,也可以任意修改变量的值;
标识符
1. 在python中所有可以自主命名的类容都属于标识符;
2. 标识符必须遵循标识符的规范;
a. 标识符中可以含有字母、数字、_,但是不能使用数字开头;
b. 标识符不能是python中的关键字和保留字;
c. 命名规范
下划线命名法:max_lenggth;
帕斯卡命名法(大驼峰命名法):首字母大写 MaxLength;
数值
1. 在python中数值分成了三种:整数、浮点数(小数)、复数;
2. 在python中所用的整数都是int类型;
3. python中整数大小没有限制,可以是一个无限大的整数;
4. d = 0124  10进制数不能以0开头;
5. 二进制 0b开头;
6. 八进制 0o 开头;
7. 十六进制 0x开头;
8. 不管以什么形式输入,输出的形式肯定是10进制;
字符串
1. python 中必须使用引号引起来;
2. 引号可以是单引号也可以是双引号,但是注意不能混着用;
3. 相同的引号之间不能嵌套;s = '子曰:"学而时习之,不亦说乎!"'
4. 长字符串
单引号和双引号不能跨行使用;
s = '锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦'

在这里插入图片描述

5. 使用三重引号来表示一个长字符串 (''' """);
三重引号可以换行,并且会保留字符串中的格式;
c = '''锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦'''

在这里插入图片描述

6. 转义字符
可以使用 \ 作为转义字符;
\' 表示 '
\" 表示 " 
\t 表示制表符
\n 表示换行符
\\ 表示 \
\uxxxx 表示Unicode编码
7. 格式化字符串
a. 字符串之间也可以进行加法运算;
如果将两个字符串进行相加,则会自动将两个字符串拼接为一个字符串;
print('a = ' +a)  //这种写法不常见;
print('a = ',a)
b.在创建字符串时,可以在字符串中指定占位符
%s 在字符串中表示任意字符
%f 浮点数占位符
%d 整数占位符
b = 'Hello %s'%'孙悟空'
b = 'hello %s 你好 %s'%('tom','孙悟空')
b = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间
b = 'hello %s'%123.456
b = 'hello %.2f'%123.456
b = 'hello %d'%123.95
b = '呵呵'
print('a = %s'%a)
c. 格式化字符串,可以通过在字符串前添加一个f来创建一个格式化字符串;
在格式化字符串中可以直接嵌入变量;
c = f'hello {a} {b}'
print(f'a = {a}')
8. 字符串的复制(将字符串和数字相乘)
a = 'abc'
a = a* 20 //解释器将字符串重复指定的次数并返回;
布尔值和空值
1. 布尔值(bool)
布尔值主要用来做逻辑判断;
布尔值一共有两个 True 和 False;
True表示真 False表示假;
a = True
a = False
print('a =',a) //a = False
布尔值实际上也属于整型,True就相当于1,False就相当于0;
print(1 + False) //输出1
2. None(空值)
None专门用来表示不存在;
b = None
print(b)
类型检查
1. 通过类型检查,可以检查值(变量)的类型
2. type()用来检查值的类型;
该函数会将检查的结果作为返回值返回,可以通过变量来接受函数的返回值
c = type(123)
print(c) # <class 'int'>
print(type(1)) # <class 'int'>
print(type(1.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('hello'))  # <class 'str'>
print(type(None)) # <class 'NoneType'>
对象(object)
- Python是一门面向对象的语言;
- 一切皆对象;
- 程序运行当中,所有的数据都是存储到内存当中然后再运行的;
- 对象就是内存中专门用来存储指定数据的一块区域;
- 对象实际上就是一个容器,专门用来存储数据;
- 像我们之前学习的数值、字符串、布尔值、None都是对象;
对象的结构
每个对象中都要保存三种数据
   - id(标识)
        > id用来标识对象的唯一性,每一个对象都有唯一的id
        > 对象的id就相当于人的身份证号一样
        > 可以通过id()函数来查看对象的id
        > id是由解析器生成的,在CPython中,id就是对象的内存地址
        > 对象一旦创建,则它的id永远不能再改变
    - type(类型)
        > 类型用来标识当前对象所属的类型
        > 比如:int str float bool 
        > 类型决定了对象有哪些功能
        > 通过type()函数来查看对象的类型
        > Python是一门强类型的语言,对象一旦创建类型便不能修改
    - value(值)
        > 值就是对象中存储的具体的数据
        > 对于有些对象值是可以改变的
        > 对象分成两大类,可变对象 不可变对象
            可变对象的值可以改变
            不可变对象的值不能改变,之前学习的对象都是不可变对象
变量和对象
- 对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名
- 变量中存储的不是对象的值,而是对象的id(内存地址),
    当我们使用变量时,实际上就是在通过对象id在查找对象
- 变量中保存的对象,只有在为变量重新赋值时才会改变
- 变量和变量之间是相互独立的,修改一个变量不会影响另一个变量
类型转换
- 所谓的类型转换,将一个类型的对象转换为其他对象
- 类型转换不是改变对象本身的类型,而是根据当前对象的值创建一个新对象
- 类型转换四个函数 int() float() str() bool()
- int() 可以用来将其他的对象转换为整型
- 规则:
布尔值:True -> 1   False -> 0
浮点数:直接取整,省略小数点后的内容
字符串:合法的整数字符串,直接转换为对应的数字
如果不是一个合法的整数字符串,则报错 ValueError: invalid literal for int() with base 10: '11.5'
对于其他不可转换为整型的对象,直接抛出异常 ValueError
- float() 和 int()基本一致,不同的是它会将对象转换为浮点数
- str() 可以将对象转换为字符串
True -> 'True'
False -> 'False'
123 -> '123' 
- bool() 可以将对象转换为布尔值,任何对象都可以转换为布尔值
规则:对于所有表示空性的对象都会转换为False,其余的转换为True
运算符(操作符)
- 运算符可以对一个值或多个值进行运算或各种操作
- 比如 + 、-、= 都属于运算符
- 运算符的分类:
    1.算术运算符
    2.赋值运算符
    3.比较运算符(关系运算符)
    4.逻辑运算符
    5.条件运算符(三元运算符
> 算术运算符
   + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作)
   - 减法运算符
   * 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数)
   / 除法运算符,运算时结果总会返回一个浮点类型
   // 整除,只会保留计算后的整数位,总会返回一个整型
   ** 幂运算,求一个值的几次幂
   a = 2 ** 2
   a = 16 ** 0.5 # 求16的平方根
   % 取模,求两个数相除的余数
> 赋值运算符
   = 可以将等号右侧的值赋值给等号左侧的变量
   +=   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 
> 关系运算符
   关系运算符用来比较两个值之间的关系,总会返回一个布尔值
   如果关系成立,返回True,否则返回False
   > 比较左侧值是否大于右侧值
   >= 比较左侧的值是否大于或等于右侧的值
   < 比较左侧值是否小于右侧值
   <= 比较左侧的值是否小于或等于右侧的值
   == 比较两个对象的值是否相等
   != 比较两个对象的值是否不相等
       相等和不等比较的是对象的值,而不是id
   is 比较两个对象是否是同一个对象,比较的是对象的id
   is not 比较两个对象是否不是同一个对象,比较的是对象的id
   在Python中可以对两个字符串进行大于(等于)或小于(等于)的运算
   当对字符串进行比较时,实际上比较的是字符串的Unicode编码
      result = 2 > '1' TypeError: '>' not supported between instances of 'int' and 'str'
      result = '2' > '1' # True
      result = '2' > '11' # True
   比较两个字符串的Unicode编码时,是逐位比较的
   利用该特性可以对字符串按照字母顺序进行排序,但是对于中文来说意义不是特别大
   注意:如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后再比较
> 逻辑运算符
   逻辑运算符主要用来做一些逻辑判断
   not 逻辑非
      not可以对符号右侧的值进行非运算
      对于布尔值,非运算会对其进行取反操作,True变False,False变True
      对于非布尔值,非运算会先将其转换为布尔值,然后再取反    
   and 逻辑与
      and可以对符号两侧的值进行与运算
      只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
      与运算是找False的
      Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值
      逻辑运算符可以连着使用
      result = 1 < 2 < 3     # 相当于 1 < 2 and 2 < 3
      result = 10 < 20 > 15
   or 逻辑或
      or 可以对符号两侧的值进行或运算
      或运算两个值中只要有一个True,就会返回True
      或运算是找True的
      Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值
   > 非布尔值的与或运算
     当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
      与运算的规则
          与运算是找False的,如果第一个值是False,则不看第二个值
          如果第一个值是False,则直接返回第一个值,否则返回第二个值
      或运算的规则
          或运算是找True的,如果第一个值是True,则不看第二个值
          如果第一个值是True,则直接返回第一个值,否则返回第二个值
             # True and True
              result = 1 and 2 # 2
           # True and False
              result = 1 and 0 # 0
           # False and True
              result = 0 and 1 # 0
           # False and False
              result = 0 and None # 0
           # True or True
              result = 1 or 2 # 1
           # True or False
              result = 1 or 0 # 1
           # False or True
              result = 0 or 1 # 1
           # False or False
              result = 0 or None # None
>条件运算符(三元运算符)
    语法: 语句1 if 条件表达式 else 语句2
    执行流程:
       条件运算符在执行时,会先对条件表达式进行求值判断
       如果判断结果为True,则执行语句1,并返回执行结果
       如果判断结果为False,则执行语句2,并返回执行结果
       a = 30
       b = 50
       print('a的值比较大!') if a > b else print('b的值比较大!')
       # 获取a和b之间的较大值
         max = a if a > b else b
运算符的优先级
- 和数学中一样,在Python运算也有优先级,比如先乘除 后加减
- 运算符的优先级可以根据优先级的表格来查询,在表格中位置越靠下的运算符优先级越高,优先级越高的越优先计算,如果优先级一样则自左向右计算
- 关于优先级的表格,你知道有这么一个东西就够了,千万不要去记
- 在开发中如果遇到优先级不清楚的,则可以通过小括号来改变运算顺序
- and 的优先级比 or 的优先级高
流程控制语
流程控制语句分成两大类:条件判断语句,循环语句
1、条件判断语句
>(if语句)
  - 语法:if 条件表达式 : 
           代码块
  - 执行的流程:if语句在执行时,会先对条件表达式进行求值判断,
     如果为True,则执行if后的语句
     如果为False,则不执行
  - 默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,则可以在if后跟着一个代码块;
  > 代码块:
       代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行;
       代码块就是一种为代码分组的机制;
       如果要编写代码块,语句就不能紧随在 : 后边,而是要写在下一行;
       代码块以缩进开始,直到代码恢复到之前的缩进级别时结束;
       缩进有两种方式,一种是使用tab键,一种是使用空格(四个)
           Python的官方文档中推荐我们使用空格来缩进
           Python代码中使用的缩进方式必须统一
  - 可以使用逻辑运算符来连接多个条件,
       如果希望所有条件同时满足,则需要使用and
       如果希望只要有一个条件满足即可,则需要使用or
>  input()函数
   - 该函数用来获取用户的输入
   - input()调用后,程序会立即暂停,等待用户输入
      用户输入完内容以后,点击回车程序才会继续向下执行
      用户输入完成以后,其所输入的的内容会以返回值得形式返回
   - 注意:input()的返回值是一个字符串
      input()函数中可以设置一个字符串作为参数,这个字符串将会作为提示文字显示
      a = input('请输入任意内容:')
      print('用户输入的内容是:',a)
   - input()也可以用于暂时阻止程序结束
   - 获取用户输入的用户名
       username = input('请输入你的用户名:')
       判断用户名是否是admin
       if username == 'admin' :
       print('欢迎管理员光临!')
> if-else语句
   - 语法: 
       if 条件表达式 :
           代码块
       else :
           代码块
   - 执行流程:
        if-else语句在执行时,先对if后的条件表达式进行求值判断
        如果为True,则执行if后的代码块
        如果为False,则执行else后的代码块
> if-elif-else语句
   - 语法:
         if 条件表达式 :
             代码块
         elif 条件表达式 :
             代码块
         elif 条件表达式 :
             代码块
         elif 条件表达式 :
             代码块
         else :
             代码块
   - 执行流程:
      if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
         如果表达式的结果为True,则执行当前代码块,然后语句结束
         如果表达式的结果为False,则继续向下判断,直到找到True为止
         如果所有的表达式都是False,则执行else后的代码块
      if-elif-else中只会有一个代码块会执行
2、循环语句
> 循环语句可以使指定的代码块重复指定的次数
  循环语句分成两种,while循环 和 for循环
  - while循环
    语法:
       while 条件表达式 :
          代码块
       else :
          代码块
    执行流程:
      while语句在执行时,会先对while后的条件表达式进行求值判断,
      如果判断结果为True,则执行循环体(代码块),
      循环体执行完毕,继续对条件表达式进行求值判断,以此类推,直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块
  - 循环的三个要件(表达式)
      > 初始化表达式,通过初始化表达式初始化一个变量
         i = 0
      > 条件表达式,条件表达式用来设置循环执行的条件
         while i < 10 :
            print(i)
      > 更新表达式,修改初始化变量的值
         i += 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小七月 搬砖记

你的认可是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值