新手学Python要打好哪些基础?从软件安装到全面基础讲解,就它了!

Posted 退休的龙叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手学Python要打好哪些基础?从软件安装到全面基础讲解,就它了!相关的知识,希望对你有一定的参考价值。

最近收到粉丝们的反馈,说自己学了一个月还没学完Python基础,我是当时就惊呆了,真的,Python基础什么时候变得如此高深莫测了?

结果我去看了一下,着实“有趣”,东扯西扯硬是把几十节课扯成了两三百节课,而且还讲了一些新手根本用不到的东西,接近第300节的时候还没讲完字符串…


我就不在这点名了,反正给我的感觉就是:从入门到入土,这谁学得完啊?

其实我的博文当中也有Python基础的教学文章,最近又根据粉丝的反馈去做了新的调整,删繁就简,直接给大家上纯干的Python基础教学,希望大家的学习不再做无用功!


今日内容预览

文章目录


一、软件安装

新手学Python我建议装一下Python和Pycharm,在以后写代码的时候会经常用到这两款软件,这两款软件都可以在官网下载,如果你不想去官网下载,我这边也有下好的安装包,自取之后按照安装流程开始即可。

软件包下载链接:https://pan.baidu.com/s/1BtnMGsfYNFIkmJ26wuGjCw
提取码:al6e

1.Python的安装

Python的安装可以去官网直接下载,由于是国外的网站,可能响应和下载速度都会有点慢,如果你不着急就等着就行,想快一点的话用迅雷来下载就很快。

  • 下载Python

下载地址是 ttps://www.python.org/downloads/ ,也可以从官网点Downloads 进入下载页面,选择你的电脑对应的版本,我的是Windows电脑,所以就直接点击 Windows 。

Python目前是出到了3.11版本,你可以看到有很多版本的选择可下载,我用的是3.9.6这个版本,然后根据电脑挑选型号,我的电脑是64位的,所以就下载64位的软件,这里提示大家一下,我个人是不太建议安装太新的版本,因为有可能里面有一些库或者兼容性问题,导致运行的时候会报错。

- 安装Python

双击下载好的文件,进入安装界面。

选择自定义安装,把两个选择都勾选就能将Python安装到PATH中。

这个界面不变动,直接点 Next 。

选择一个你要安装的路径,不然它会把你装到C盘,我把它安装到了D盘,然后点击 Install 。

安装完成,点击 Close 。

  • Python测试

测试一下你的Python是否安装成功,WIN + R 键调出命令窗口,输入 cmd 。


在黑窗口输入 Python ,然后回车,如果提示Python 3.9.6 等信息就说明已经安装成功了,如果没有提示,那就回去看看哪个环境你出错了。

2.Pycharm的安装

Pycharm官网下载,选择一下系统,我是Windows系统所以默认不变,然后下载社区版的就可以了,等你变强大以后再用专业版的。


下载好之后,双击开始安装。


点击Next 。


自定义安装路径,建议装在C盘之外的其他盘,点击 Next 。

全部都勾选。


到了这里之后,默认即可,点击 Install 开始安装。


等待安装按成后,点击finish就装好了。


3.你的第一行代码

万事俱备,接下来我们开始写我们的第一行代码,鼎鼎大名的 hello world 。

打开Pycharm,点击New Project 创建新项目,以后新建项目都可以这么操作,中间的Open 是打开项目,如果你有写好的项目就可以从这里打开。

接下就是设置一下项目的存在位置,如果你的安装Pycharm的时候是按照我的步骤来的,Base interpreter 那里会自动检测出来Python,可以不做改到,直接点击左下角的Create 创建就可以了。


然后点击左边的。

进入页面会弹出一个弹框,点击Close关闭就行。

前面我们创建的是项目,是一个文件夹,来存放源码的,这里我们开始创建代码源文件。(我的电脑之前有过一些项目,所以底下有很多文件夹,可能跟你们不太一样。)

点击在创建好的项目python_learn,邮件弹出选项,选择New 来新建,选择Python File ,即创建Python源文件。


然后会提示你给你的文件取个名字,然后敲一下回车就完成了代码源文件的创建了。

开始写代码,这里需要用到的1个最常用的函数print() ,它是用来专门输出内容的,函数有它的语法,只要遵循语法来写代码,软件才会知道你要干什么。

print的语法如下,默认自带换行。

print(要输出的内容)

接下来我们就是要输出我们第一行代码了,hello world 是1串字符串,需要加上" "才是正确的格式,不然会报错,关于字符串在后面我们会详细来讲,这里你只要知道得按照这个格式写代码才能达到我们想要的结果。

print("hello world")

写完代码之后需要运行才出结果,可以右键弹出选项框,选择 Run’learn_1’ 开始运行,Run是运行的意思,learn_1 是刚才我给这个源文件取的名字。

除了右键来运行,还可以直接用快捷键 Ctrl+Shift+F10,执行结果:


恭喜你,输出了你的第一行代码,正式开始Python之旅!


二、基础知识

在用Python写代码的之前,对Python的基础知识是必须要会的,不然你可能会寸步难行。基础知识包括输入输出、变量、数据类型、表达式、运算符这5个方面。

1.输入输出

Python有很多函数,后面我们会细讲,但这里先将两个最基本的函数:输入和输出。

输出函数print(),在前面我们已经用过了,语法就是:

print(要输出的内容)

输入函数是 input(),功能是接收用户输入的内容,语法是:

input(输出的内容)

举例:接收用户输入的密码并打印

n = input("请输入密码:")	#把输入内容赋给n,用 n 接收一下
print(n)	#打印n

在Python里,“#” 表示注释,“#”后面的东西不会被执行。代码运行之后首先出现了“请输入密码:”,然后随意输入,比如输入123,执行结果:

提示信息
请输入密码:123
123

成功接收用户输入的内容并打印出来。


2.变量

变量就是一个名字,需要先赋值在使用,变量要符合标识符(名字)的命名规范,这是硬性要求,标识符相当于名字,包括变量名、函数名、类名等等,

  • 标识符的命名规范
  1. 合法的标识符:字母,数字(不能开头),下划线,py3可以用中文(不建议),py2不可以。
  2. 大小写敏感。
  3. 不能使用关键字和保留字。

关键字: if while for as import
保留字:input,print range

  1. 没有长度限制。
  2. 望文生义,看到名字就知道要表达的意思。
  3. 大小写:
  1. 包名:全小写,例如 time ;
  2. 类名:每个单词的首字母大写,其他的小写,简称大驼峰命名,例如 HelloWorld ;
  3. 变量名/函数名:第一个单词的首字母小写,后面的单词的首字母大写,简称小驼峰命名,例如 helloWorld ;
  4. 常量:全大写,例如 HELLO 。
  1. 其他命名方式,比如 hello_world 。

3.数据类型
  • 数据类型分类

数据类型可分为以下6类:

(1) 整型:整数,英文名 int ,例如 5 的数据类型就是整型。
(2) 浮点型:小数,英文名 float ,例如 0.5 就是1个浮点型数据。

科学计数法,e表示乘以10几次方,例如 b=1e10 表示1*10的10次方。
(3) 字符串:英文str

表现形式有4种:'xs' 、 "xs" 、 """xsxs""" 、 ''''xxx'''  

三引号有个特殊功能,表示注释,跟 # 一样的功能,例如:
"""
xsx
xs
这里面的都是注释内容
"""
(4)布尔类型:英文bool,True为真,False为假;1表示真,0表示假。
(5)None 是一个单独的数据类型。
(6)列表、元组、字典、集合也是常见的数据类型。
  • 类型转换

在写代码的时候我们经常需要将不同的数据类型进行转换,主要的数据类型转换方法如下:

(1) 字符串转整型

方法是 int(str) ,字符串必须是数字,例如:

user = int('304200780')	
print(user)

执行结果:

304200780

(2)浮点型转整型

方法是 int(float) ,例如:

f = 20.1
ff = int(f) #直接抹去小数部分
print(ff)

运行结果:

20

(3)字符串转浮点型
方法是 float(str) ,字符串必须是数字和,例如:

f = "203.4"
ff = float(f)
print(ff)

运行结果:

203.4

(4)整型转浮点型
方法是 float(int) ,例如:

f = 30
ff = float(f)  # 30.0
print(ff)

运行结果:

30.0

(5)浮点型转字符串
方法是 str(float) ,例如:

f = 30.5
ff = str(f)
print(type(ff).__name__)    #type()是获取数据类型函数

这里先不管print()和type()函数的嵌套,后面会将,只要知道它们是在输出 ff 的数据类型,运行结果:

str

(6)整型转字符串
方法是 str(int) ,例如:

f = 30
ff = str(f)
print(type(ff).__name__)    #type()是获取数据类型函数
  • 获取类型信息
    常用的获取数据类型信息的函数有type()和isinstance()两个。

(1)type()
语法是 type(对象) ,返回的是对象的类型,前面我们也有用过,但是它是在内部返回的,如果你不输出它你是看不到的,所以经常会和输出函数print()嵌套使用。

例子:获取数据类型并输出。

f = 30
print(type(f))

运行结果:

<class 'int'>

class的意思是种类,可以看出 f 是 int 型的数据。

(2)isinstance()
isinstance() 常用来判断数据类型,它返回的是布尔值(True或False),语法是 isinstance(对象,class) 。

例子:判断30.5是不是整型。

f = 30.5
n = isinstance(f,int)   #用n来接收一下结果
print(n)

运行结果:

False

4.表达式

在Python当中,表达式是由数字、算符、数字分组符号(括号)、变量等对象的组合叫做表达式,表达式均有固定字面值,例如 “10+20”这个表达式的值为30,表达式 “10>30” 的值为 False 。


5.运算符

运算符可以分为很多4类。

(1)一般运算符

+,-,*,/(真除法),//(地板除,舍去小数部分),%(取余数),**(幂运算)

(2) 赋值运算符

常用赋值运算符是 = ,等号右边的值赋值等号左边

增强赋值运算符:+=,-=,*=,/=,%=,**=

例子:

a = 30
a+=10
print(a)

执行结果:

40

连续赋值:a=b=c=d=10

(3)布尔运算法

== (等于),!=(不等于) >= <= > <

(4) 逻辑运算符

主要有not、and和or三类,又称非、与和或
and:前后都为真则为真
or:有一个为真则为真
not:非真,非假

例子:

a = 10
b = 20
c = 30
d = 40
n1 = a > b and a < c    #a>b为假,a<c为真,假与真为假
n2 = not a < c   #a<c为真,非真则为假
n3 = a > b or a < c     #a>b为假,a<c为真,假或真为真
print(n1,n2,n3)

执行结果:

False False True

三、流程控制

流程控制常用的是条件分支流程的if/else语句和循环控制的while语句。

1.条件分支流程

当达到某种条件的时候才会触发的代码。

(1)语法1

if 布尔表达式: #如果为真则执行内部的代码块
	代码块

布尔表达式的结果只有两个,要么真,要么假,如果是真的,那么就执行if语句里面的代码块,否则就跳过不执行。

例子:

a = 10
b = 20
if a < b:
    print("真的")
if a > b:
    print("假的")

执行结果:

真的

从这里可以看出第一个if语句里面的布尔表达式(a<b)为真,所以执行了里面的代码块print(“真的”),而第二个if语句里面的布尔表达式(a>b)是假的,所以里面的代码块没有被执行,所以不输出“假的”两字。

(2)语法2
常用的if/else语句,语法如下:

if 布尔表达式:
	代码块
else:
	代码块

判断的逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码。

例子:

a = 10
b = 20
if a > b:
    a = 30
    print(a)

else:
    print(1111)

执行结果:

1111

(3)语法3

if 布尔表达式1:
	代码块
elif 布尔表达式2:
	代码块
elif 布尔表达式3:
	代码块
....
else:
	代码块

逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码,这个语法适用于多个连续条件判断。

例子:

s = int(input("请输入分数:"))

if 80 >= s >= 60:
    print("及格")
elif 80 < s <= 90:
    print("优秀")

elif 90 < s <= 100:
    print("非常优秀")

else:
    print("不及格")

随意输入100以内的数字,不同区间内的数字结果是不一样的,例如92,执行结果为:

请输入分数:92
非常优秀
10

(4)语法4
这里可以将前面所讲的if/elif/else进行嵌套使用,来达到我们想要的目的。

例子

s = int(input("请输入分数:"))
if 80 >= s >= 60:
    print("及格")
elif 80 < s <= 90:
    print("优秀")
elif 90 < s <= 100:
    print("非常优秀")
else:
    print("不及格")
    if s > 50:
        print("你的分数在60分左右")
    else:
        print("你的分数低于50分")

随意输入数字,比如说55,执行结果:

请输入分数:55
不及格
你的分数在60分左右

2.循环流程

在前面我们讲过的流程控制语句的功能还是比较有限,比如说只能执行1次,要执行多次就得多写几个,有点麻烦,所以我们需要学习循环流程里面的循环语句,它的作用就是重复运行某些代码。

(1)while循环

语法:

while 布尔表达式: 
	代码块

只要条件(布尔表达式)为真就执行里面的代码块。

举例:

while 4 < 5:
    s = int(input("请输入分数:"))
    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")

运行之后可以多次输入分数,并且永不停息:

请输入分数:56
不及格
你的分数在60分左右
请输入分数:70
及格
请输入分数:

当然这里有1个弊端,代码执行后陷入了死循环,while里面的代码被一直执行,因为4<5永远为真。

所以这里我们可以改善一下代码,不让它永远执行,让它循环执行几次就可以了,这里可以用个变量来作为条件判断,把4<5改成a<5,同时让在while里面实现自加的功能,在while里面代码每执行1次,执行到它那行的时候它加1,这样执行2次while就会跳出来。

a = 3
while a < 5:
    s = int(input("请输入分数:"))

    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")
    a += 1
print(a)
print("while执行结束了")

执行结果:

请输入分数:55
不及格
你的分数在60分左右
请输入分数:65
及格
5
while执行结束了

这里我再给大家举个例子来理解while循环的运用。比如说输入一个整数并计算各个位和,例如输入321,那么各个位之和则为6。

# 请输入一个整数,并计算各个位和 如:321=6

n = int(input("请输入一个整数:"))  # 将字符串转为整型

# sums累加器:m=10 m=10+5

sums = 0

while n != 0:  # 32 #3
    sums = sums + n % 10  # sums=1+2=3+3=6
    n = n // 10  # 32
print(sums)

我输入的2345,执行结果:

请输入一个整数:2345
14

(2)for循环
for循环和while循环都是循环语句,但不一样的点在于for循环是技术循环。

语法:

l=[3,2,1]
for 变量 in 可迭代对象:
	代码块

例子:

l=[3,2,1]
for n in l:
	print("1")

执行:

1
1
1

l是个列表,后面我们会讲,列表里面有3个元素,每执行一次for循环,列表里面的元素就会被赋值给n,直到列表里面没有了元素可赋值,则n就跳出了列表,此时的for循环就不成立了,不执行for里面的代码块。

(3)range
for循环经常会搭配range来使用,range是一个可迭代对象,range的语法如下:

range(start=0,stop,step=1)

start值的是开始下标。range序列里面的所有元素都有下标,第一个元素的下标是0,所以,默认是从0开始。

stop是结束位置。结束的位置下标为(元素个数-1),例如range里面有4个元素,那么结束下标最大为3,大于3则跳出range。

step是步长,如果step是2,那么每次会隔开1个元素,默认步长为1,即每个元素都会取到。

举例:

for i in range(8):	#可以不写star和step,但结束位置一定要写的
    print(i)
print("---------")
for i in range(10, 2, -2):
    print(i)

执行结果:

0
1
2
3
4
5
6
7
---------
10
8
6
4

通过第一个for循环可以看出,range()的第一个元素的下标是从0开始,而不是从1开始;range()可以不写开始下标和步长,但一定得有结束位置;第二个for循环可以看出步长可以为负数,用于递减。

(4)continue
continue的作用是跳过本次循环,后面的循环继续执行,例如:

for i in range(1, 10):
    if i == 5:
        continue
    print(i)

执行结果:

1
2
3
4
6
7
8
9

很明显,i等于5的时候,for循环就跳过去了,本次不再执行里面的代码,重新回到了新的循环。

同样的,还有终止所有循环的功能,就是break,和continue是一样的用法,但效果是不一样的,我这里就不做举例了,大家可以去试一下就知道了。


四、列表(List)

列表是可以存放任何数据,包括整型,浮点型,字符串,布尔型等等,是常用的数据类型之一。

1.列表的创建
列表也是一个可迭代对象
1. 普通形式
        l = [1,2,3,4,5] ---整型列表
        l = ["a","b","c"] ---字符串列表
        l = [True,False,1>2,5<6]---布尔列表
2. 混合列表
		l = [1,2.5,"a",True]
3. 空列表
		l = []
  • 从列表中如何获取数据(元素)

列表是有下标的,并且下标从0开始,元素是指列表中每个数据,例如l = [5,4,3,2,1] 里面有5个元素,但5的下标为0,1的下标为4。

1.获取当个数据(元素)
	语法:
		变量[下标] #获取下标所对应的值

例如获取l列表中下标为1的元素:

l = [1, 2, 3]  # 下标/索引:0开始
print(l[1])

执行结果为:

2
2. 列表的遍历
列表的遍历是把列表里面的所有元素都获取1遍。

例如把[1,2,3,4,5]里面的元素都获取并输出一遍:

l = [1,2,3,4,5]
for i in l:
    print(i, end=" ")

执行结果为:

1 2 3 4 5 
3. 交换数据
对指定下标的元素进行数据交换。

例如把[1, 2, 3, 4, 5]里面的下标为第2和第3的元素进行数据交换:

l = [1, 2, 3, 4, 5]  # 下标/索引:0开始
l[2], l[3] = l[3], l[2]
print(l)

执行结果:

[1, 2, 4, 3, 5]

2.添加元素

添加元素的方法常用的有以下3个:

统一用法是:

变量.函数
#例如 n. append(对象)

例子:讲列表[6,7]添加到另一个列表[1,2,3,4,5]中

l = [1, 2, 3, 4, 5]
l.extend([6, 7])
print(l)

执行结果:

[1, 2, 3, 4, 5, 6, 7]

3.删除元素

删除列表中的元素的常用方法主要有:

例子:删除列表[1, 2, 3, 4, 5]中4这个元素。

l = [1, 2, 3, 4, 5]
l.remove(4)
print(l)

执行结果为:以上是关于新手学Python要打好哪些基础?从软件安装到全面基础讲解,就它了!的主要内容,如果未能解决你的问题,请参考以下文章

学习Linux务必要打好基础

学编程的个人想法

Python开发要学哪些内容

学Python 应该看哪些书籍

新手做linux运维需要学哪些知识

新手如何学习编程?