2203 CSDN课程-python入门课

news2024/12/22 20:41:47

Python入门课,较为基础。

 1 简介

1.1 前言

事实上,Python已经走过很多年的发展历程了,笔者最一开始学习的时候还是2.x版本,现在早就3.xx版本了。在当提笔,不是青春年少。确实是这样,我记得是2018年开始接触Python,当时是学过C++的,都说Python简单,我学了N遍不知所以然。原因无外乎有以下几点:

- 学而不用:非计算机专业,常常听说Python如何如何,实际上自己使用很少。

- 坚持不下来:听课即使不是半途而废,也是太过追逐目的。比如很长一段时间,我有代码需求,就是搬运,目标就是能够运行就行。然而这样是无法学会的。

- 舍得不精力:谁说编程容易学呀?确实没有那么复杂,但是难的是记不住。相比于知识,更是一门技术。

言归正传:Python的官网先奉上,最为开源的面向对象的语言,少不了在论坛打交道,在官网摸爬滚打。

Welcome to Python.org

 现在Python已经更新到3.11了,未来还会有怎样的发展不得而知。

1.2 Python之我见

为什么学Python?

无论是刷抖音还是什么,只要能引流的地方就会有卖课的,都说什么Python自动化啊、Python爬虫啊什么的。因为卖课,所以会说它特别有用。实际上确实有用,但是不代表广大老百姓(包括广大大学生们!)能用得上啊。

在我看来,学习Python原因很简单,如果你想学学计算机,方便生活,那么选择Python,因为它是开源的。就是有很多人在为它开发更方便的程序包。在别的语言你要写很久的时候,对于Python真的几行代码就可以了——因为有人给你写好并且打包了,你使用时候加载就行了。

1.3 Python的编程平台

我个人觉得方便的就两个,一个是anaconda,另一个是pycharm。对于Python新手,不建议直接去pycharm,因为“编译环境”就够你思考许久了。

关于anaconda,课程有介绍,CSDN有很多的介绍的,总而言之,就是很方便的一个写代码的平台,而且能够在网页写。

 

直接使用Jupyter的notebook来编写就行,会直接打开浏览器。

 

 在右上角新建Python文件即可编写。关于notebook不做过多演示。

1.4 Hello Word!

print("Hello World")

print函数记得文本串加上引号。

2 运算符和变量

运算符号:

+   加
-   减
*   乘
/   除
%   取余
//  取整

#进行基本运算并输出结果
pa = 222 + 666
print(pa)

#字符串相加
string1 = "hello"
string2 = "world"
string3 = string1 + string2
print(string3)

3 while循环和for循环

while循环即  当变量符合条件时候 执行命令,直至不符合。

而for循环即 当变量符合条件时 不断执行,直至不符合。

好吧 两者打出来发现一样,两者区别不大,但是形式是不一样的。

condition = 1
while condition < 5:
    print(condition)
    condition += 1  


for i in range(2,10):
    print(i)

4 列表

列表是Python的一大特色,类似数组。

a_list = [1,2,30,30,30,4,2]#列表
print(a_list)

 另外列表还涉及索引、排序等概念。

索引即把列表内容找出来。

print(a_list[1])#打印列表中第1个元素
print(a_list[-3]) #打印列表中倒数第3个元素
print(a_list[1:6]) #打印第1到第6个元素
print(a_list.count(30))
排序

a_list.sort(reverse=True)
print(a_list)

5 列表操作、多维列表

  • 对列表进行修改、添加、插入等的操作:
  • 直接赋值即修改;
  • append在末尾添加元素;
  • insert在列表插入元素;
  • del 删除列表元素。
  • 多维列表的索引使用两个[][]。
a_list = [1,2,30,30,30,4,2]
print(a_list)
a_list[0] = 100 #修改列表中第0个元素
a_list.append(200) #在列表末尾添加一个元素
a_list.insert(2,300) #在列表中插入一个元素
del a_list[2] #删除列表第2个元素
a_list.remove(30) #删除列表中的一个‘30’
a = a_list.pop()

#二维表格的索引
b_list = [[1,2,3],
          [4,5,6],
          [7,8,9]]
print(b_list[1])
print(b_list[2][1])

6 元组

元组即数组。

a_tuple = (1,2,30,30,4,5)
print(a_tuple[1])

大致操作和列表相似。

7 if条件

>   大于
>=  大于等于
<   小于
<=  小于等于
==  等于
!=  不等于

a = 1
b = 2
c = 3
d = 1
if a>=d:
    print("right")
if a!=b:
    print("right")
if 1 > 100:
    print("right")
else:
    print("wrong")

复杂一点if 条件(添加and \ or)

colors = ['red','blue','black','green']

for color in colors:
    if color == 'black':
        print('black')
    else:
        print('not black')

 8 字典

字典是元组、列表等的混合,可以说是类似Excel的表格。

字典另一作用就是更好理解json文件。

d = {'pen':7,'apple':3,'applepen':10} #Key:Value,键:值


for key,value in d.items():#遍历整个字典的键值对
    print('key:',key,'\t','value:',value)

9 函数

函数即定义一个函数,和C语言等逻辑上没有区别。

def function2(a,b): #定义一个带参数的函数,a,b为形参(局部变量),只有在函数的内部发生作用
    c = a + b
    print('a=',a)
    print('b=',b)
    print('c=',c)
    print('a+b=',c)
function2(10,20)

10 模块

import 语句导入函数包或者自己定义的函数导入文件和函数。

from max import func_max #从max模块导入func_max函数

11 类的创建与继承

类在其他语言也有这个概念,一般使用的话确实频率不高。

class human:  #类
    #类的属性
    name = 'someone' 
    age = 100
    #类的方法
    def my_name(self):
        print('my name is',self.name)
    def my_age(self):
        print('my age is',self.age)
    def eat(self):
        print('eat')
    def think(self,a,b):
        print(a+b)
        
person1 = human() #创建一个person1的对象
person1.name = 'zhangsan'
print(person1.name)

class student(human):#子类继承父类
    def __init__(self,grade=1,school='MIT'):
        super().__init__() #父类的初始化
        self.grade = grade
        self.school = school
        self.scroe = 100
        print('student init')
        
    #添加子类自己的方法
    def learn(self):
        print('learning')
    def my_school(self):
        print('my school is',self.school)

12 input

哦 这可是 Python的交互窗口。

name = input('Please enter your name:')
print('hello',name)

13 文件输入

text = 'Writing a text\nnhello world'
print(text)

my_file = open('file.txt','w') #以写入的方式打开文件,如果文件不存在会创建该文件
my_file.write(text)
my_file.close()


with open('file.txt','w') as f:#清空文件,然后写入
    f.write('11111111')


with open('file.txt','a') as f: #在文件最后追加内容
    f.write(text)


with open('file.txt','r') as f: #以读取的方式打开文件
    content = f.read()   #读取全部内容
    print(content)


with open('file.txt','r') as f:
    content = f.readline() #读取一行内容
    print(content)


with open('file.txt','r') as f:
    content = f.readlines() #读取所有行存放到一个列表中
    print(content)


filename = 'file.txt'
with open(filename) as f:
    for line in f:
        print(line.rstrip())

14 异常处理

异常处理就是处理可能有问题的语句。

try:
    file = open('hahaha','r+')
except Exception as e:
    print(e)
    response = input('Do you want to create it:')
    if(response=='yes'):
        with open('hahaha','w') as f:
            pass
        print('The file was created successfully')
    else:
        pass

15 json文件

一开始笔者不清楚json文件的目的。而后在使用爬虫时候才清楚,很多网页有json文件,使用Python的json模块可以导入。

import json

a_dict = {'user_id':'qbf','user_name':'hello',100:200}

with open('example.json','w') as f:
    json.dump(a_dict,f)

with open('example.json') as f:
    content = json.load(f)
    print(content)

学习之路不止,继续加油!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux从入门到放弃】Linux权限详解

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; L…

m基于遗传优化的复杂工序调度matlab仿真,输出甘特图和优化收敛图

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 遗传算法 (Genetic Algorithm&#xff0c;GA) 是一种基于规律进化的随机优化搜索算法&#xff0c;该算法最早是由Holland在1975年提出的。遗传算法的主要优势是通过对目标对象进行优化操作&#…

力扣-234-回文链表

回文链表 CategoryDifficultyLikesDislikesalgorithmsEasy (52.70%)1576- TagsCompanies给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff…

FTP文件传输服务

FTP 服务概述2-1 FTP连接及连接模式 控制连接&#xff1a;TCP 21&#xff0c;用于发送FTP命令信息 数据连接&#xff1a;TCP 20&#xff0c;用于上传、下载数据 数据连接的建立类型 主动模式&#xff1a;服务端从 20 端口主动向客户端发起连接 被动模式&#xff1a;服务端在指…

SIM8262E-M2,SIM8262A-M2,SIM8260C-M2,SIM8260C 5G定位模组支持多频段

SIM8262&#xff1a;支持R16标准的5G模组&#xff0c;支持多频段5G NR / LTE-FDD / LTE TDD / HSPA&#xff0c;支持SA和NSA双组网模式&#xff0c;高达 2.4Gbps的数据传输&#xff1b;扩展能力强&#xff0c;接口丰富&#xff0c;包括PCIe、USB3.1、GPIO等。该模块为客户的应用…

Polygon zkEVM中的子约束系统

1. 引言 前序博客有&#xff1a; Polygon zkEVM工具——PIL和CIRCOM Polygon zkEVM中主要设计了3种子约束系统&#xff1a; 1&#xff09;Permutation check子约束系统&#xff1a;PIL中的关键字为is。 2&#xff09;Plookup 子约束系统&#xff1a;PIL中的关键字为in。 …

数据结构——栈,队列,及其结构特点应用。

​✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;数据结构——栈&#xff0c;队列。 &#x1f525;<3>创作者&#xff1a;我的代码爱吃辣 ☂️<4>开发环境&#xff1a;Visual Studio 2022 &#x1f3e1;<5>系统环境…

路由查找原理

最近在设计Netflow采集系统时&#xff0c;我想要将客户端的公网IP根据IP库转为对应的国家&#xff0c;此外在CACHE机房中&#xff0c;交换机上是没有AS信息的&#xff0c;因此我们也需要根据IP去查路由库&#xff0c;转换出AS信息。 这两个问题的本质是类似的&#xff0c;无论是…

棱镜七彩作为首批成员单位入选工信部网络安全产业发展中心重点实验室!

近日&#xff0c;工信部网络安全产业发展中心公布了网络安全技术与产业发展工信部重点实验室专项工作组成员单位名单。棱镜七彩首批入选&#xff0c;成为信息技术应用创新基础软硬件安全工作组的成员单位&#xff01; 为深入贯彻落实网络强国战略&#xff0c;充分发挥网络安全技…

FOC控制之小A小B小C是如何追求小D的

1、写在前面 随着电动汽车的热火&#xff0c;关于FOC控制技术的文章这几年在网络上可谓是一搜一大把&#xff0c;各种理论分析&#xff0c;公式推导&#xff0c;应有尽有。通过这些文章&#xff0c;可以看出大佬还是很多的。另外也有FOC的开源硬件。而在大几年前&#xff0c;第…

党务管理系统搭建,答题获积分,学习有好礼

党务管理系统搭建是以服务党员群众为目的的&#xff0c;然后通过互联网信息化手段&#xff0c;将党建工作与大数据等新技术融合&#xff0c;实现党建资源答题学习的数字化整合&#xff0c;也提升了党建科学化水平。 党务管理系统搭建助力党建数字化、规范化&#xff1a;利用信息…

快来生成你专属的英文名吧(使用字符级RNN)!

目录 一.前言 二.准备数据 三.构造神经网络 四.训练 五.网络采样&#xff08;预测&#xff09; 一.前言 数据集为18个国家的姓氏&#xff0c;任务是根据训练得到的模型&#xff0c;在给定国家类别和首字母后&#xff0c;能得到一个与该国人名非常相似的一个人名。 > …

openstack基本命令小结

文章目录Openstack0、进入1、查看日志日志位置日志格式举例2、CLI命令格式基本格式使用帮助3、命令文档&#xff08;常用&#xff09;4、基础组件的常用命令1、keystone查询类查看所有组件状态查看所有服务的状态查看域列表查看服务列表查看节点列表查询用户列表查询用户详细信…

用5G制造5G,中国电信打造“滨江模式”,助力电子信息制造产业升级

工业和信息化部近日印发《5G全连接工厂建设指南》&#xff0c;提出“十四五”时期&#xff0c;主要面向原材料、装备、消费品、电子等制造业&#xff0c;采矿、港口、电力等重点行业领域&#xff0c;加快5G全连接工厂建设。中国电信联合中兴通讯打造南京滨江智能工厂&#xff0…

Python第三方库之MedPy

1.MedPy简介 MedPy 是一个图像处理库和针对医学(如高维)图像处理的脚本集合&#xff0c;此处主要讨论利用该库计算常见的医学图像分割任务评价指标&#xff0c;如Dice、Jaccard、Hausdorff Distance、Sensitivity、Specificity、Positive predictive value等。 论文表格的表头…

docker部署的redis集群 添加节点(扩容)

上篇博文完成了在 docker 中部署 redis 多主多从集群&#xff1a;点这里 这篇博文说一下如何在集群基础上继续添加节点&#xff0c;也就是给集群扩容 博文中的命令出现的 111.111.111.111 均换成实际 IP 执行 创建要添加的一主一从容器 这里创建一个6377主节点和一个6378从节…

ArgoDB 5.1 正式发布:多模融合、实时分析和数据安全多重升级

Transwarp ArgoDB是星环科技自主研发的高性能分布式分析型数据库&#xff0c;在PB级数据量上提供极致的数据分析能力。ArgoDB支持标准SQL语法和分布式事务&#xff0c;提供高并发高速数据写入、复杂查询、多模分析、数据联邦、隐私计算和动态脱敏等能力。基于星环科技ArgoDB数据…

怎么自由裁剪图片大小?分享一款在线图片编辑工具

工作的时候常常需要用图片编辑工具把图片裁剪为我们想要的大小&#xff0c;但下载处理图片软件又耗费时间&#xff0c;那么有没有比较快捷的修改图片的方法呢&#xff1f;其实我们可以用在线图片处理&#xff08;在线ps 图片编辑制作工具 免费照片编辑器_压缩图&#xff09;工具…

日期插件(默认显示当前日期)---年月

方法&#xff1a;加载页面时将当前日期赋值 <!-- 选择年月--> <div class"form-group"><label class"col-sm-2 control-label is-required">时间&#xff1a;</label><button id"bin0"><< </button&g…

Nvidia 驱动安装

由于使用unreal engine editor 开发,需要安装nvidia 独显驱动,遇到各种坑,在此记录,方便自己以后再次遇到,也希望能帮助他人辟坑 系统: Ubuntu18.04 显卡:Geforce GTX 1650 UE版本:5.1.0 1. 自动安装 sudo ubuntu-drivers devices 推荐安装470 sudo ubuntu-drivers autoi…