python基础知识(一)

简介: python基础(一){编码,字符串格式化,数据类型,运算符,推导式(简化生成数据),函数编程,模块}

python基础知识(一)

编码相关

文件存储时,使用某种编码,打开时就需要使用相同的编码,否则就会乱码。字符底层存储时本质上都是0101010101010101。 字符和二进制的对应关系(编码):

  • ascii编码,256中对应关系。
  • gb2312,gbk,中文和亚洲的一些国家【中文是2个字节】
  • unicode,ucs2/ucs4,包括现在发现的所有文明。
  • utf-8编码,【中文是用几个字节?3字节】
python

data = "中"
res = data.encode('utf-8')
print(res) # b'\xe4\xb8\xad'
data = "国"
res = data.encode('gbk')
print(res) # b'\xb9\xfa'

计算机中的单位

位/字节/KB/MB/GB

字符串格式化

a1 = "我是{},年龄{}".format("马X祺", 22)

a2 = "我是%s,年龄%d" % ("丁X鑫", 22,)

name = "XX少年团"
time = 20XX
a3 = f"name:{name},time:{time}"
print(a1)
print(a2)
print(a3)

数据类型

常见数据类型:['int', 'bool', 'str', 'list', 'tuple', 'dict', 'set', 'float', 'None']
    --转换为布尔值为False:'None', 0
    --转换为布尔值为Turn:'int', 'bool', 'str', 'list', 'tuple', 'dict', 'set', 'float'
    --可变:'list', 'dict', 'set'
    --不可变:'int', 'bool', 'str', 'tuple', 'float', 'None'
    --可哈希:'int', 'bool', 'str', 'tuple', 'float', 'None'
    --不可哈希:'list', 'dict', 'set'
    --字典的键/集合的元素必须是可哈希的类型('list', 'dict', 'set'不能座位字典的键和集合元素)
主要数据类型:
    --str:
        --独有功能::split/lower/start switch/split/strip/join
            str不可变,在执行大部分功能时,不会对原数据字符串进行修改,而是生成新的内容
        --公共功能:取长度(len)/索引(仅获取)/切片(仅获取)/for循环/判断是否包括
    --list(列表):
        --独有功能:append/insert/remove/pop...
            list可变,很多功能都是对原字符串进行修改
        --公共功能:取长度(len)/索引(可以修改原数据)/切片(可以修改原数据)/for循环/判断是否包括
    --dict:
        --独有功能:get/keys/items/values
        --公共功能:取长度(len)/索引/for循环/判断是否包括(判断键时效率很高)

运算符

一般:
    1>10 and 1<10  # --->turn or false
特殊逻辑运算(整体结果取决于谁,结果就等于谁):
    a1 = 1 and 2    # --->2
    a2 = [] or 10    # --->10
    a3 = "原神" or [] # --->"原神"

推导式(简化生成数据)

data = []
for i in range(10):
    data.append(i)

data = [i for i in range(10) ]
data = [i for i in range(10) if i<5 ]    # --->[0,1,2,3,4]

函数编程

函数基础知识:
    --定义
    --参数:
        --概念:位置传参/关键字传参/参数默认值/动态参数(*args/**kwargs)
    --返回值:
        --函数中一但遇到return就立即返回,且后续代码不执行,且默认返回值(None)
函数进阶知识:
    --python中是为函数为作用域
    --全局变量and局部变量:
        --建议:
            --全局变量大写,局部变量小写,用_链接.
            --在局部变量中使用global关键字,global作用:说明该局部变量是引用全局的,而不是在局部内新建的
内置函数('python内自带提供的函数'):
    --bin/hex/odc/max/min/divmod/sorted('数字可以排序,中文,标点排序依据unicode编码')/open('文件操作')
文件操作:
    --基本操作:打开,操作,关闭;为了防止忘记关闭文件,可以用with
    --打开文件时的模式:
        -r/rb,[读时文件不存在,报错]
        -w/wb,/清空写     [文件不存在时,会自动新建]
        -a/ab,追加      [文件不存在时,会自动新建]
        [如果路径(目录)不存在,全报错]
        os.makedirs/op.path.exsits    [判断是否存在,不存在新建路径(目录)]

模块

模块的分类:
    --自定义模块:
        --os.path:导入模块时,python会到那个目录去找模块
        --不要与python内置模块or第三方模块同名
        -- import/form xx import xx
    --内置模块:
        time/datetime/json/re/random/os...
        查看当前目录夏所有文件:os.listdir("获取一级目录")/os.walk('获取所有目录')
        --时间模块:时间戳/daretime/字符串    # 三者可以互相转化
        --json模块:
            --JSON本质时字符串,有一些自己的格式要求,PS:无元组/无单引号
            --json.dumps序列化时,只能序列化python常用数据类型
        --re模块:
            --元字符:
                  .  匹配除换行符以外的任意字符
                \w 匹配字海或数字或下划线
                \S 匹配任意的空白符
                \d 匹配数字
                \n 匹配一个换行符
                \t 匹配一个制表符
                \^ 匹配字符串的开始
                \$ 匹配字符串的结尾
                \W{
   大写} 匹配非字母或数字或下划线
                \D 匹配非数字
                \S{
   } 匹配非空白符
                a|b 匹配字符a或字符b
                () 匹配括号内的表达式,也表示一个组
                [ ...] 匹配字符组中的字符
                [^...] 匹配除了字符组中字符的所有字符
            --量词:
                * 重复零次或更多次
                + 重复一次或更多次
                ? 重复零次或一次
                {
   n} 重复n次
                {
   n,} 重复n次或更多次
                {
   n,m} 重复n到m次
            --贪婪匹配&惰性匹配:
                .* 贪婪匹配
                .*? 惰性匹配
    --第三方模块:
        requests/openpyxl/python-docx/flask/bs4
相关文章
|
9天前
|
存储 Shell 程序员
Python 自动化指南(繁琐工作自动化)第二版:一、PYTHON 基础知识
Python 自动化指南(繁琐工作自动化)第二版:一、PYTHON 基础知识
45 0
|
9天前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
43 2
|
9天前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门:基础知识与必备工具
【4月更文挑战第12天】Python是大数据时代数据分析的热门语言,以其简单易学和丰富库资源备受青睐。本文介绍了Python数据分析基础,包括Python语言特点、数据分析概念及其优势。重点讲解了NumPy、Pandas、Matplotlib、Seaborn和Scikit-learn等必备工具,它们分别用于数值计算、数据处理、可视化和机器学习。此外,还概述了数据分析基本流程,从数据获取到结果展示。掌握这些知识和工具,有助于初学者快速入门Python数据分析。
|
9天前
|
存储 机器学习/深度学习 数据挖掘
Python编程语言:基础知识与实用代码示例
本文将带您走进Python编程世界,介绍Python的基础知识,并通过实用代码示例展示Python的魅力和应用。
42 0
|
9天前
|
运维 分布式计算 Java
第一章 Python基础知识
第一章 Python基础知识
|
9天前
|
Python
python 格式化、set类型和class类基础知识练习(下)
python 格式化、set类型和class类基础知识练习(下)
24 0
|
9天前
|
索引 Python
python 格式化、set类型和class类基础知识练习(上)
python 格式化、set类型和class类基础知识练习
93 0
|
9天前
|
Python
python学习1-基础知识(数据类型等)
python学习1-基础知识(数据类型等)
|
9天前
|
Java 程序员 Python
Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
【4月更文挑战第15天】Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
29 11
|
9天前
|
Python
python基础知识
【4月更文挑战第15天】python基础知识
27 7