Python入门知识点

1. 基础语法

1.1 基本数据类型

  1. 支持int float bool complex四种数字类型;

  2. bool类型为True False,首字母大写;

  3. boolint的子类,True==1False==0都会返回True

  4. 字符串可以用单引号或双引号括起来'string1' "string2",其中使用\表示转义字符;

  5. 原始字符串(raw string)通过rR前缀声明:str = r'haha\n',原始字符串中转义字符失效

  6. 字符串可以左闭右开进行切片(slice)str[ start:end:step ],但不能改变:str[0] = 'a'语句将导致错误;

  7. 字符串索引:从左往右是0开始,从右往左是-1开始;

  8. 列表List类型用方括号声明:list = [ 'abcd', 123, 23.4, 3+3j ];一个list中可以包含多种数据类型;List的元素是可变的

  9. 元组Tuple采用圆括号声明:tuple = ('abcd', 12, 23.4),和List类似,但元素整体不可变,不过元素本身可以是可变的,如以List作为元素;

  10. 集合Set采用大括号声明:set = {val1, val2, val3},但空集合要使用set()函数创建:emptySet = set()

  11. 集合可以进行运算:

    a = { 'a', 'b', 'c' }; b = { 'a', 'c', 'd' }
    a | b # 并集
    a - b # 差集
    a & b # 交集
    a ^ b # 不同时存在的元素集合
    
  12. 字典Dictionary采用大括号进行声明,存储无序的键(key)值(value)对dict = { 'name': 'Tom', 'friend': 'Jerry', 'age': 10};创建空字典采用{}所以集合不能用{}创建空集;字典的必须是不可变类型,且不能重复,所以int也可以作为键;

  13. 字典基础函数:keys、values、items、clear、pop分别用来获取所有键、获取所有值、获取键和值、清空字典、删除某个键值对

  14. 各基础数据类型的构造函数:

    a = 1; b = 1.0; c = 'haha'; d = 3+4j;
    list = ['a', 1, 2, 3]
    set = {'a', 'b', 3, 4}
    dict = {1:1, 2:2, 3:3}
    tuple = ('a', 'b', 'c', 1, 2, 3, True)
    

1.2 运算符

  1. 乘方运算符:**
  2. 浮点数除法:/
  3. 整数除法://
  4. 字符串、列表复制:2 * str,将str复制2次
  5. 逻辑运算符:and 或 not
  6. 包含运算符:in 或 not in
  7. 判断2个标识符引用自同一个对象:is 或 is not

1.2 逻辑控制语句

  1. while循环,条件成立时循环执行while语句块,条件不成立时执行一次else语句块。注意whileelse的语句后都有冒号:

    while expr :
    	<statements>
    else:
    	<statements>
    
  2. for循环,与while类似:

    b = [1, 2, 3, 4]
    for x in range(len(b)):
    	<statements>
    else:
    	<statements>
    
  3. 可以通过break直接跳出循环,也可通过continue跳过本次循环;

  4. pass语句不执行任何功能,仅作为占位符使用;

1.3 推导式

推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。
字典、列表、元组、集合都可以用推导式语法来创建新对象。

基本推导式语法为:表达式 for 变量 in 列表 if 条件,如
py # 从names中,挑选长度>3的元素,并将其转为大写 new_names = [name.upper()for name in names if len(name)>3]

其中:

  1. 表达式指明了元素的创建语法;
  2. 变量是从源数据对象中获取的元素、键、值等;
  3. 将推导式采用() [] {}括起来就可以创建元组、列表、集合/字典,最后二者的区分靠表达式,字典的表达式需要提供为key_expr : value_expr

1.4 迭代器与生成器

对序列类型,可以使用迭代器进行遍历,基本方法为:iter(list)创建迭代器,next(iter)获取下一个元素:

a = [1, 2, 3, 4, 5, 6]
for x in iter(a):	# 效果与 for x in a: 一致
	print(x)
	

创建一个迭代器需要在类中实现两个方法 __iter__()__next__()

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self
 
  def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration # 表明迭代结束
 
myclass = MyNumbers()
myiter = iter(myclass)
 
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))

python中,使用了yield语句的函数被称为生成器

1.5 常用函数

  1. print(a, b, c, d)打印内容;end参数指定分隔符,默认分隔符为\n

  2. type(a)获取变量的数据类型,如a = 1;type(a)结果为<class 'int'>不会认为子类是一种父类类型;

  3. len(x)获取长度;

  4. range(start, end, step)生成整数序列;range(len(x))生成x的索引序列;

  5. isinstance(a, int)判断a是不是int的一个实例;会认为子类是一种父类类型;

    # 由于bool是int的子类,所以有以下结果
    a = True
    type(a) == int  # False
    isinstance(a, int) # True
    
  6. 数据类型强制转换:

    # 4种基本数据类型
    int(x); float(x); str(x); complex(x);
    # 列表,元组,集合,字典
    list(x); tuple(x); set(x); dict(x);
    chr(x) # 整数转字符
    ord(x) # 字符转整数
    hex(x) # 整数转16进制字符串
    oct(x) # 整数转8进制字符串
    
  7. lambda函数:只能写一行的匿名函数

    # x 为一个lambda函数,abc为传入参数,: 后面的表达式为返回值
    x = lambda a, b=2, c=3 : a+b*2+c*3
    
  8. dir(moduleName)返回模块中定义的所有名称;顺便一提:模块就是源文件import module就是提供源文件的文件名,不用带py后缀;

1.6 文件处理

  1. 通过f = open(fileName, mode)读取文件,mode常用的为:只读r,只写w,追加a
  2. f.read()读取内容,f.write()写入内容,f.close()关闭文件,f.readlines()读取多行;
  3. 为防止打开后运行出错等,导致忘记关闭文件,可以使用with,来保证文件的关闭:
with open('1.txt', 'r') as f:
	# 处理代码

1.7 异常处理

关键字有:try except else finally
在这里插入图片描述
抛出异常关键字:raise Exception(),只能抛出Exception或其子类的异常对象。

2. 常见问题解决

  1. VsCodeCtrl+Alt+N运行Python文件,print输出中文为乱码?

    添加环境变量:变量名 = PYTHONIOENCODING, 变量值 = UTF-8

  2. pip安装软件很慢,可以使用国内镜像源,如清华pypi源,使用办法:

    # 需要使用 pip 10.0.0 以上版本,如果版本过低,可以 
    # pip install pip -U
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

3. 常用包

  1. Python官方中文文档添加链接描述
  2. 鼠标键盘控制:pyautogui,可直接pip install pyautogui安装,官方文档在此处
  3. windows相关API,如窗口控制等:pywin32包中的win32gui模块;
  4. numpy:数组运算包,官方文档在此处
  5. pandas:表格处理包,官方文档在此处,其DataFrame相对用得多,文档在此处
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值