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
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一份Python基础教程: ## Python基础教程 ### 1. Python简介 Python是一种高级、解释型、交互式和面向对象的编程语言。它的设计目标是简单易学、代码可读性强,同时也具有广泛的应用场景,包括Web开发、数据分析、机器学习等领域。 ### 2. Python环境搭建 在开始学习Python之前,需要先搭建Python开发环境。Python的官方网站提供了Windows、Linux、Mac等多个平台的安装程序,可以在官网下载并安装。 ### 3. Python基本语法 #### 变量和数据类型 在Python中,可以使用变量来存储数据。Python的变量不需要事先声明类型,可以根据赋值自动推断出数据类型。Python中的常见数据类型包括整数、浮点数、字符串、列表、元组、字典等。 ```python # 整数 a = 1 # 浮点数 b = 3.14 # 字符串 c = 'hello world' # 列表 d = [1, 2, 3] # 元组 e = (1, 2, 3) # 字典 f = {'name': 'Tom', 'age': 18} ``` #### 运算符 Python中常见的运算符包括算术运算符、比较运算符、逻辑运算符等。 ```python # 算术运算符 a = 10 b = 3 print(a + b) # 加法 print(a - b) # 减法 print(a * b) # 乘法 print(a / b) # 除法 print(a // b) # 整除 print(a % b) # 取余 print(a ** b) # 幂运算 # 比较运算符 a = 10 b = 3 print(a == b) # 等于 print(a != b) # 不等于 print(a > b) # 大于 print(a < b) # 小于 print(a >= b) # 大于等于 print(a <= b) # 小于等于 # 逻辑运算符 a = True b = False print(a and b) # 与运算 print(a or b) # 或运算 print(not a) # 非运算 ``` #### 条件语句和循环语句 在Python中,可以使用条件语句和循环语句来控制程序的流程。 ```python # 条件语句 a = 10 if a > 0: print('a is positive') elif a == 0: print('a is zero') else: print('a is negative') # 循环语句 # while循环 i = 0 while i < 10: print(i) i += 1 # for循环 for i in range(10): print(i) ``` #### 函数和模块 在Python中,可以使用函数和模块来组织代码和实现复杂功能。 ```python # 函数 def add(a, b): return a + b # 调用函数 c = add(1, 2) print(c) # 模块 # 创建一个名为my_module.py的模块 # my_module.py def hello(): print('hello world') # 导入模块 import my_module my_module.hello() ``` ### 4. Python常用库 在Python中,有许多常用的库可以帮助我们实现各种复杂的功能。以下列举了一些常用的库和其功能。 #### NumPy NumPy是Python中常用的科学计算库,提供了高效的数组操作和数学函数。可以用于处理数组、矩阵、线性代数等方面的计算。 ```python # 安装NumPy pip install numpy # 使用NumPy import numpy as np # 创建数组 a = np.array([1, 2, 3]) b = np.array([[1, 2], [3, 4]]) # 数组运算 c = a + b d = np.dot(a, b) # 数学函数 e = np.sin(a) f = np.exp(b) ``` #### Pandas Pandas是Python中常用的数据分析库,提供了高效的数据结构和数据分析功能。可以用于读取数据、处理数据、分析数据等方面的操作。 ```python # 安装Pandas pip install pandas # 使用Pandas import pandas as pd # 读取数据 data = pd.read_csv('data.csv') # 处理数据 data = data.dropna() data = data[data['age'] > 18] # 分析数据 mean_age = data['age'].mean() max_age = data['age'].max() ``` #### Matplotlib Matplotlib是Python中常用的绘图库,提供了高质量的数据可视化功能。可以用于绘制线图、散点图、柱状图等各种类型的图表。 ```python # 安装Matplotlib pip install matplotlib # 使用Matplotlib import matplotlib.pyplot as plt # 绘制线图 x = [1, 2, 3] y = [4, 5, 6] plt.plot(x, y) # 绘制散点图 x = [1, 2, 3] y = [4, 5, 6] plt.scatter(x, y) # 绘制柱状图 x = [1, 2, 3] y = [4, 5, 6] plt.bar(x, y) ``` ### 5. 总结 Python是一种简单易学、功能强大的编程语言,可以用于各种领域的开发和应用。在学习Python时,需要掌握基本的语法和常用的库,才能更好地应用Python进行开发和数据分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值