【Python | 入门】 五分钟速通语法

简介: 【Python | 入门】 五分钟速通语法

Python轻松上手

🎏该篇讲解以代码和结果结合,能够快速上手python基础用法

源码:传送门

一、 编写第一个python.py

# python中变量不需要声明 但必须赋值 赋值后才能创建 
# 所以也有人把变量称为名字
# python 的输出代码
print('hello world') # hello world yyds
魔术师 = 666 # 因为python使用 utf-8编码所以可以用中文
print(魔术师) # 输出变量
print("Majician",魔术师)# 同时输出字符和变量 
#进阶知识
print("Majiciam", 魔术师真酷, end='!')  # 设置结尾
print("Majiciam", 魔术师真酷, sep='-', end='!')  # 设置 间隔

结果:

>>>print('hello world')  # hello world yyds
hello world
>>>魔术师真酷 = 666  # 因为python使用 utf-8编码所以可以用中文
>>>print(魔术师真酷)  # 输出变量
666
>>>print("Majician", 魔术师真酷)  # 同时输出字符和变量
Majician 666
>>>print("Majiciam", 魔术师真酷, end='!')
Majiciam 666!
>>> print("Majiciam", 魔术师真酷, sep='-',end='!')
Majiciam-666!

图片.png

二、 固定数据介绍.py

# 如何用python中的数据结构/数据表示和存放数据
# 标准数据类型 = 【
# ”Number(数字):[’int.float,bool,complex(复数)'],
# “String(字符串)”,
# “list(列表)”,
# “Dictionary:字典”,
# “Set:(集合)”,
# “Tuple:(元组)"
# 】
import math
a = -3.5
b = abs(a)  # absolute value
print(b)
c = math.sin(b)
print(c)

三、 列表的性质以及增删改查.py

# 列表(List)
all_in_list = [
    1,
    'love',
    True,
    [1, 2, 3]
]
# 列表每个元素都是可变的,
# 列表中每个元素都是有序的,
# 列表可以容纳Python所有对象
print(all_in_list)
index = all_in_list[1]
index = all_in_list[-3]
index = all_in_list[0:2]  # 列表的切片,顾头不顾尾,只有1到2,不包括2,
print(index)
# 列表的增删改查
all_in_list.append("hello world")  # 附加最后一个元素
all_in_list.insert(0, "pre_hello")  # 插入元素
print(all_in_list)
all_in_list.remove("hello world")  # 删除指定元素
print(all_in_list)
del all_in_list[:2]  # 删除元素
print(all_in_list)
all_in_list[0] = 100
print(all_in_list)
#for循环  #效率底 所以使用列表推导式
x = []
for i in range(10):
    x.append(i)
#print(x)
#列表推导式
x = [i for i in range(3,10)]
y = [i**2 for i in range(3,10)]
z = [i**2 for i in range(3,10) if i%2==0]  #输出偶数项
print(x)
print(y)

四、 小小的任务:求sinx曲线图形面积.py

import math
n = 10
x = []
y = []
width = 2 * math.pi / n
# 方法一:for循环建立核心数据结构
for i in range(n):
    x.append(i * width)
    y.append(abs(math.sin(x[i])))  # 绝对值
sums = sum(y) * width  # 求和函数
# 列表推导式建立核心数据结构(尽量不用for循环,时间复杂度高)
x = [i * width for i in range(n)]
y = [abs(math.sin(i * width)) for i in range(n)]
z = [abs(math.sin(i * width)) * width for i in range(n)]
sums = sum(z)
print(x)
print(y)
print(sums)

五、 常用操作符.py

# python 操作符 大多与C语言类似
# 赋值 关系 运算 逻辑 等 (也是返回一个值)
# 逻辑
res = 1 < 2 < 3  # 不同时可以连续比较 猜测其在对 < > 进行重载 没有参数返回Boll型数据,又参数返回类继续比较
res = 'M' in 'Magic'  # 判断是否在里面
print(res)

六、 条件判断语句.py

# 只有 if  elif  else while 没有switch了
# 条件判定语句 if 后面语句可以不用加()
if 1 < 2:
    print('hello')
if 1 < 0:
    print('hello')
else:
    print("world")
if 1 < 0:
    print('hello')
elif 1 < -1:
    print("world")
else:
    print("!")
# 冒泡排序法
x = [1, 2, 3, 4, 123, 1, 64, 1, -2]
n = len(x)
for i in range(n):  # 循环次数更多,时间复杂度更高
    for j in range(i):  # 保证在循环中x[i]值最大,前面小于的不管他,一旦有一个x[j]>x[i] j+1后面也全大于 x[j] 和x[i]一直调换
        if x[j] > x[i]:  # 调换方法!!!
            x[i], x[j] = x[j], x[i]
print(n)
print(x)

七、 字符串索引&切片&增删改查

# 字符串
# 任何在这双引号的文字
# 单引号其实和双引号完全一样,但在开发时建议引入用单引号,
# '''三个引号被用于长段文字或说明,只要引号不结束,你就可以任意换行'''
# 字符串为不可变数据类型
string = "字符串"
string = '''hello
嘿嘿
world'''
string = 'my ,name'
print(string)
# 字符串基本用法,
# 拼接 char1 + char2 + char3,
# 重复 'word'*3,
# 转换 int(string),
# 切片与索引:
# str[-3],
# str[1:4],
# str[3:]
res = string[1]  # 字符串索引
res = string[1:4]  # 字符串索引
res = string * 3
res = string + ' is '
# 字符串自身属性
# 分割
res = string.split(sep=',')
# 默认按照空格切割开,可以设置separate设置隔开符
# 返回值是一个列表,
#注意!!!!:string是不可变的数据类型,不能对其数据进行改动, 除非对名字重新赋值
print(1,string)
string[1] = 'y' #报错!!
#小写变大写
res = string.upper()
print(res)

字典的创建 索引&增删改查

# 字典 大括号 ,列表 中括号
dictionary = {
    'BIDU': 'baidu',
    'SINA': 'sina',
    'YOKU': 'youku',
}
# 键 - 值 成对出现;
# 键不能重复,
# 键不可更改,值可修改!!!!! 字符串也是 列表则可以
# 键来索引值
dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world'}
# dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world',[2]:2}
# 不能以列表为键!!前提是因为键是不可以变得,而序列是可以变的
print(dic)
demo = dic['h']
demo = dic[0.5]  # 字典中的元素无先后顺序,只能用键来索引
print(demo)
# 字典的增删改查
# 修改
dic['h'] = 'hi'
# 增加
# 单个
dic['new'] = 'new dic'  # 如果没有该键,会在字典末尾生成新的键值对
# 多个
dic.update({1: 2, 3: 4})
# 删除
# del dic #直接整个删掉
del dic['h']
# 字典推导式
d = {i: i ** 2 for i in range(10)}
d = {i: i ** 2 for i in range(10) if i % 2 == 0}
print(dic)
print(d)

八、 对文件处理操作

# 文件操作
# 只读
f = open('beauty_live.text', 'r')
# 读取文件操作
txt = f.read()
txt = f.read(100) #设置读取字符的个数
# 因为是对文件以读的方式打开,
# 所以在读取文件指针后,
# 指向文件的指针指向文件尾,就无法再继续读取,需要将指针seek变为0
f.seek(0)
# 只读行(返回值是一个列表)
txt1 = f.readlines()
# txt1 = f.readline() #只读一行
f.close()
# print(txt1)
print(txt)

九、 统计小说的单词词频

# 统计小说的单词频次
import re
# 查看当前路径
import os
path = os.getcwd()  # current word directory 当前目录
print(path)
f = open('beauty_live.text', 'r')  # 引入当前工程路径 , 如果移动了 需要绝对路径
txt = f.read()  # 读取进来的数据类型是字符串
f.close()
txt = txt.lower()
# 去除小数点等符号  用‘’替代 就是空
re.sub('[,.?!"\'-]', '', txt)
# 由于使用分割后返回值是一个列表 无法使用re.sub 所以先处理在分割
txt = txt.split()
# 统计频次
word = {}
for i in txt:
    if i not in word:
        word[i] = 1
    else:
        word[i] += 1
# 对次数排序
sor = sorted(word.items(), key=lambda x: x[1], reverse=True)
print(txt)
print(word)
print(sor)

十、 用户函数自定义

# 函数自定义
# 简单用lamdba
y = lambda x: x ** 2
y1 = lambda x: x[1]
# 复杂用def
def Sum(x=1, y=2):  # 设置默认值同于c++,前面设置了后面必须避免歧义,可以只设置后面
    return x + y
res = Sum()
demo = y(3)
demo = y1(['hello', 'world'])
print(res)
print(demo)
#求给定序列 偶数个数
def su(x):
    z = 0
    for i in x:
        if i%2==0:
            z +=1
    return z
print(su([1,2,34,5,6,2,4,]))

十一、 python方法与函数对比

# 面对对象编程
list = [2.4, 'hello', 'world']
list.append('hehe')
print(list)
string = 'myapp'
string.append('hi')  # 对字符串对象而言 没有append方法 ,注意不是函数
list.split()  # 同样不可以对列表对象 使用split方法 方法与对象挂钩
print(string)

十二、 面对对象实例

# 创建自己的类
class human:  # 方法是定义在类内的函数
    def __init__(self, ag=None, se=None):  # 构造函数
        self.age = ag  # 类的属性
        self.sex = se
    def square(self, x):  # 方法
        return x ** 2
zhangfei = human(ag=28, se='M')  # 类的实例化
demo = zhangfei.square(3)
demo = zhangfei.age
print(demo)

十三、 python模块

# 模块是一个包含了所有你定义的函数的变量的文件,其后缀名为.py其实就是一个脚本文件
import math  # 引入模块
import def_math
from def_math import Sum
res = math.sin(1)  # 用模块调用
res = math.pi
from math import sin, pi  # 从模块引入变量和函数 直接使用 面对多次使用的情况下,建议用此方法 !
# 导入模块全部变量和函数
from def_math import *  # 不建议这样做 把全部引入 没有库名称区别 与其他库的函数名歧义
res = sin(2)  # 在模块引入直接使用
res = 2 * pi
res = def_math.Sum(1, 3)
res = Sum(1, 3)
print(res)

模块def_math.py

def Sum(x, y):
    return x + y

今日份推荐 —— 牛客网

  1. python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费
    图片.png
  2. 他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
    图片.png



相关文章
|
10天前
|
Java 编译器 C语言
Python速成篇(基础语法)上
Python速成篇(基础语法)上
|
23天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
72 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
1天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
10 1
|
1天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
23 0
|
2天前
|
机器学习/深度学习 数据采集 算法
scikit-learn入门指南:从基础到实践
【4月更文挑战第17天】这篇指南介绍了scikit-learn,一个Python数据分析和机器学习的重要库。内容涵盖安装、数据加载与预处理、模型训练(如KNN分类器)、评估、调参优化及高级应用,如降维和聚类。通过实例展示了scikit-learn在分类任务中的使用,强调其在数据科学中的重要性。要深入了解,可参考官方文档和实践案例。
|
3天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作
|
3天前
|
Python
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
|
8天前
|
JavaScript 前端开发 API
游戏开发入门:Python后端与Vue前端的协同工作方式
【4月更文挑战第11天】使用Python后端(Flask或Django)和Vue.js前端开发游戏变得流行,能提高开发效率和可维护性。本文指导如何构建这样的项目,包括设置环境、创建虚拟环境、搭建后端API及前端Vue组件,强调前后端协作和API接口的重要性。这种架构促进团队合作,提升代码质量和游戏体验。
|
10天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
10天前
|
存储 监控 Java
Python速成篇(基础语法)下(新年快乐♥)
Python速成篇(基础语法)下(新年快乐♥)