前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python | 入门】 从输出打印到面对对象(五分钟速通Python)

【Python | 入门】 从输出打印到面对对象(五分钟速通Python)

作者头像
计算机魔术师
发布2022-08-23 09:59:36
4610
发布2022-08-23 09:59:36
举报
文章被收录于专栏:计算机魔术师
在这里插入图片描述
在这里插入图片描述

🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: 宝藏网站 |笔试题库|面试经验|实习招聘内推|

Python轻松上手

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

一、 编写第一个python.py

代码语言:javascript
复制
# python中变量不需要声明 但必须赋值 赋值后才能创建 
# 所以也有人把变量称为名字

# python 的输出代码
print('hello world') # hello world yyds

魔术师 = 666 # 因为python使用 utf-8编码所以可以用中文
print(魔术师) # 输出变量

print("Majician",魔术师)# 同时输出字符和变量 

#进阶知识
print("Majiciam", 魔术师真酷, end='!')  # 设置结尾
print("Majiciam", 魔术师真酷, sep='-', end='!')  # 设置 间隔

结果:

代码语言:javascript
复制
>>>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!
print函数官方介绍
print函数官方介绍

二、 固定数据介绍.py

代码语言:javascript
复制
# 如何用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

代码语言:javascript
复制
# 列表(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

代码语言:javascript
复制
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

代码语言:javascript
复制
# python 操作符 大多与C语言类似
# 赋值 关系 运算 逻辑 等 (也是返回一个值)

# 逻辑

res = 1 < 2 < 3  # 不同时可以连续比较 猜测其在对 < > 进行重载 没有参数返回Boll型数据,又参数返回类继续比较
res = 'M' in 'Magic'  # 判断是否在里面
print(res)

六、 条件判断语句.py

代码语言:javascript
复制
# 只有 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)

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

代码语言:javascript
复制
# 字符串
# 任何在这双引号的文字
# 单引号其实和双引号完全一样,但在开发时建议引入用单引号,
# '''三个引号被用于长段文字或说明,只要引号不结束,你就可以任意换行'''
# 字符串为不可变数据类型


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)

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

代码语言:javascript
复制
# 字典 大括号 ,列表 中括号

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)

八、 对文件处理操作

代码语言:javascript
复制
# 文件操作

# 只读
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)

九、 统计小说的单词词频

代码语言:javascript
复制
# 统计小说的单词频次
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)

十、 用户函数自定义

代码语言:javascript
复制
# 函数自定义

# 简单用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方法与函数对比

代码语言:javascript
复制
# 面对对象编程

list = [2.4, 'hello', 'world']
list.append('hehe')

print(list)

string = 'myapp'

string.append('hi')  # 对字符串对象而言 没有append方法 ,注意不是函数
list.split()  # 同样不可以对列表对象 使用split方法 方法与对象挂钩

print(string)

十二、 面对对象实例

代码语言:javascript
复制
# 创建自己的类

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模块

代码语言:javascript
复制
# 模块是一个包含了所有你定义的函数的变量的文件,其后缀名为.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

代码语言:javascript
复制
def Sum(x, y):
    return x + y

今日份推荐 —— 牛客网

python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费

在这里插入图片描述
在这里插入图片描述

他们的python题单是从最基础的输出、字符串格式化输出开始,经过运算符、列表、循环语句、条件语句、元组、字典、函数等知识点,一步一步教你慢慢学会Python那为数不多的基本语法,最后再配合上8道具有实践意义的综合实践题,可以帮你更加有效的巩固前面学会的知识。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。 快点击下方链接学起来吧! 链接:点击链接跳转牛客网

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/08/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python轻松上手
  • 一、 编写第一个python.py
  • 二、 固定数据介绍.py
  • 三、 列表的性质以及增删改查.py
  • 四、 小小的任务:求sinx曲线图形面积.py
  • 五、 常用操作符.py
  • 六、 条件判断语句.py
  • 七、 字符串索引&切片&增删改查
  • 八、 对文件处理操作
  • 九、 统计小说的单词词频
  • 十、 用户函数自定义
  • 十一、 python方法与函数对比
  • 十二、 面对对象实例
  • 十三、 python模块
  • 今日份推荐 —— 牛客网
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档