【Python基础】02 Python基础语法

目录


参考

  1. 廖雪峰Python教程

1. 数据类型 和 变量


1.1. 数据类型

1.1.1. 整型

1.1.2. 浮点型

  • 运算
    1. 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!)
    2. 浮点数运算则可能会有四舍五入的误差。

1.1.3. 字符串

  1. 字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,"xyz"等等。

  2. 字符串内部既包含’又包含",用转义字符\来标识;

  3. 转义字符

    1. \n \t \\ 转v符; 换行、制表、\ ;
    2. r’ ’ 进行转移 ’ ’ 内的字符;
  4. 多行内容

    1. Python允许用’’’…’’'的格式表示多行内容;

      >>> print(''' line
      ... lin
      ... l''')
      line
      lin
      l
      

1.1.4. 布尔型

True False //注意大小写;

  • 概述:

    1. 布尔值在计算机中存储时就是 0和1;
      1. 0为Flase
      2. 1为True
    2. 转换为布尔值格式 bool()
    3. 其实为False的还有:None,“”,{},【】,(),0
  • 逻辑运算符

    1.  And :and运算是与运算,只有所有都为True,and运算结果才是True;
    2.  Or :or运算是或运算,只要其中有一个为True,or运算结果就是True;
    3.  Not :True 和 False 的转换;
    

1.1.5. 空值

  • 空值是Python里一个特殊的值,用None表示。
  • None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

1.2. 数据类型 转换

  1. hex() 将 整数 转换成 十六进制表示的字符串;

1.2.1. 数据类型 检查

数据类型检查可以用内置函数isinstance()实现:

  • 实现
    if not isinstance(x, (int, float)):
          raise TypeError('bad operand type')
    

1.3. 变量

1.3.1. 变量概述

  1. 注意

    1. 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
    2. 同一个变量,反复赋值,可以是不同数据类型的变量;
    # *代码示例*
    a = 123 # a是整数
    print(a)
    a = 'ABC' # a变为字符串
    print(a)
    

1.4. 常量

  1. 常量也是变量,即不能改变的变量;

1.4.1. 运算符

  1. / 除法

    浮点运算,即便是整数;
    
  2. // 地板除

    1.  整数的地板除//永远是整数,即使除不尽;
    2.  要做精确的除法,使用/就可以;
    3.  只取结果的整数部分;
    
  3. % 余数运算

    取余数;
    

注意

  1. 注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的;
    例如Java对32位整数的范围限制在-2147483648-2147483647。
  2. Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
    没有大小限制;

2. 字符串 和 编码

  1. 可以使用单引号、双引号;

2.1. 字符串

  1. 在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言;
  2. 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

2.1.1. 字符串连接

  1. 常用方法
    方法1:直接通过加号(+)操作符连接
      website = 'python' + 'tab' + '.com'
      
    方法2:join方法
      listStr = ['python', 'tab', '.com'] 
      website = ''.join(listStr)
    
    方法3:替换
      website = '%s%s%s' % ('python', 'tab', '.com')
    

2.2. 编码

  • 概述
    • 纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。
    • 含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
  1. Encode

  2. Decode

    1.  要把bytes变为str,就需要用 decode()方法:
    2.  \>\>\> b'\\xe4\\xb8\\xad\\xff'.decode('utf-8', errors='ignore')
    //忽略错误的字节
    
  3. 输出

    1.  在Python中,采用的格式化方式和C语言是一致的,用%实现;
      \>\>\> 'Hi, %s, you have \$%d.' % ('Michael', 1000000)
    2.  %s永远起作用,它会把任何数据类型转换为字符串:
    3.  Format()
         依次替换字符串中要替换的位置;
    

3. 输入输出


3.1. 输入

3.2. 输出

3.2.1. Print

  1. print() 函数也可以接受多个字符串,用逗号 “,” 隔开,就可以连成一串输出:
  2. 遇到, 打印一个空格;

4. 条件判断


4.1. IF Else

  • 语法:

    1. 注意在if else 条件后,写 :
    2. else if 可缩写为 elif ;
    # 代码示例
    age = 3
    if age >= 18:
        print('adult')
    elif age >= 6:
        print('teenager')
    else:
        print('kid')
    

4.2. 实战

== 多条件判断 ==
  if age>=18 and age<=30 and height >=170 and height <= 185 

  # 使用 all() 处理
  if all([m1, m2]):
      continue
  elif all([m1, not m2]):

5. 循环

  • 概述
    Python的循环有两种:
    • for…in循环,依次把list或tuple中的每个元素迭代出来,

5.1. For … in

  1. 如果要计算1-100的整数之和,从1写到100有点困难:Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。
  • range()
    List(range5));   //产生01234

5.2. While

  1. break 可以提前退出循环;
  2. continue 跳出,直接进行下一次循环;

注意

  1. # 用于注释;

6. list[]tuple()

Python内置的数据类型

  1. 一种数据类型是列表list

    • list是一种有序的集合,可以随时添加和删除其中的元素。
  2. 另有序列表叫元组tuple

    • tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

注意:

  1. 两种类型均有序;

6.1. List [ ]

  • 概述
    1. 用索引来访问list中每一个位置的元素,记得索引是从0开始的
    2. 要取最后一个元素,除了计算索引位置外(len-1),还可以用-1做索引,直接获取最后一个元素:

6.1.1. List 基本操作

参考https://www.liaoxuefeng.com/wiki/1016959663602400/1017092876846880

//具体操作 与C++类似;
追加、插入、删除、删除指定位置;替换;

6.1.2. 注意

  1. List中的数据元素可以是不一样的;
  2. 空list 长度为0;

6.2. tuple ( )

  • 要点:
    • 一旦初始化,无法修改;
    • 不能添加、插入等;

6.2.1. 基本操作

  1. tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来;

6.2.2. *注意*

  1. 因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
  2. 当只有一个元素时,在元素后加 ,消除歧义;
  3. Tuple 中 使用list嵌套;

7. dictset

  • Python内置的key表结构:

    1. dict:全称dictionary,在其他语言中也称为map,使用**键-值(key-value)**存储,具有极快的查找速度。
      //key – value
    2. set:是一组key的集合,但不存储value由于key不能重复,所以,在set中,没有重复的key
      //key

7.1. dict

  • 概述
    • key–value 存储; //类似于Hash 算法;使用key来查找value;
    • dict用空间来换取时间的一种方法。
  1. 速度
    1. 论这个表有多大,查找速度都不会变慢。 //其格式类似于字典;使用索引表;

7.1.1. 基本操作

  1. 初始化

    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    
  2. 插入

    通过key放入;
    d[**] = ** ;
    
  3. 删除

    pop(key)
    

7.1.2. 错误 预防

  • 基础
    20200531232848

7.1.3. 区分

  1. list dict 区别

    1. dict

      1. 查找和插入的速度极快,不会随着key的增加而变慢;
      2. 需要占用大量的内存,内存浪费多。
    2. List

      1. 查找和插入的速度极快,不会随着key的增加而变慢;
      2. 需要占用大量的内存,内存浪费多。
  2. *注意*

    1. dict的key必须是不可变对象

    2. 如果每次计算相同的key得出的结果不同,那dict内部就完全混乱;


7.2. set set([1, 2, 3])

  1. 只存储 key;不重复;

  2. set可以看成数学意义上的无序和无重复元素的集合

  3. 重复元素在set中自动被过滤:


7.3. 基本操作

  1. 创建set

    >>> s = set([1, 2, 3])  
    
  2. 添加元素
    通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

    >>> s.add(4)
    >>> s
    {1, 2, 3, 4
    
  3. 删除元素

    通过remove(key)方法可以删除元素:
    
  4. set 可以看成数学意义上的无序和无重复元素的集合,
    因此,两个set可以做数学意义上的交集、并集等操作:

7.3.1. 注意

  1. set和dict区别
    • set和dict的唯一区别仅在于set没有存储对应的value,
    • 但是,set的原理和dict一样;
      所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

8. Python命令


8.1. 常用命令

# 查看Python 版本
  python -V


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值