前言

编程入门阶段,不用花时间学习和记忆细枝末节,这样会分散新手去理解核心逻辑的精力,而且很常用的知识也很容易被遗忘。真实世界里的编程不是闭卷考试,不需要把语言的细节全部记住,因为随时可以上网搜索和查阅技术文档。写多代码的人最后都会意识到,更重要的是具备搜索问题、发现答案和高效解决的能力,而不是成为记忆大师。

入门编程语言选择,优先选择Python。Python容易教,容易学,

Python 语言是一种高级语言,是面向对象、解释性的程序设计语言,具有语法简洁、易

于学习、功能强大、可扩展性强、跨平台等特点。

其一:语法简洁;

其二:封装得更适合新手,对于新手来说,更应该先专注于理解逻辑,而不是计算机底层构造,Python无需了解指针和内存管理等计算机偏底层的内容;

其三:内置函数非常多,已写好的工具较多。

Python的主要应用:脚本、网站后端、数据分析、机器学习等。

Java有完善的工具库和框架,稳定性高,适合做网站后端、安卓应用、桌面应用。

JavaScript主要应用在网站前端,也可以做网站后端、移动端、小程序。

C的好处自由度高,可以直接操作内存和计算机硬件,帮助了解底层构造。C的主要应用:硬件、嵌入式、操作系统等底层软件开发。

总结:新手不用花过多时间纠结第一门语言学什么,因为很多编程语言的语法定义差别不大。只要学会第一门语言,之后的语言更容易上手。比起选择什么语言,更关键的是什么时候动起来。

第一章 软件安装

一、Python解释器

机器无法直接读懂编写的Python代码,需要一个解释器作为中间的翻译,把代码转换为字节码后再执行,Python的运行过程为翻译一行,执行一行。

一般常说的安装Python,本质上指的是安装Python解释器。

1.下载安装包

访问Python官网(Download Python | Python.org

2.运行安装程序‌

双击下载的.exe文件,

选择“Customize installation”

在“Optional Features”界面勾选所有选项(如pip、IDLE)。

在“Advanced Options”中勾选“Add Python to PATH”和“Disable path length limit”,指定安装路径后点击“Install”。‌

3.‌验证安装‌

打开命令提示符(cmd),输入python --version,若显示版本号(如Python 3.8.2)则安装成功。‌

二、代码编辑器

用于编写程序代码,代码编辑器种类非常多。

PyCharm 是由 JetBrains 打造的一款 Python IDE。

PyCharm 具备一般 Python IDE 的功能,如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。

另外,PyCharm 还提供了一些很好的功能用于 Django 开发

可以根据不同的平台下载不同版本的 PyCharm,并且每个平台均可以选择下载

Professional 和 Community 两个版本。两个版本的特点如下。

Professional 版本

(1)提供 Python IDE 所有的功能,支持 Web 开发。

(2)支持 Django、Flask、Google App 引擎、Pyramid 和 web2py。

(3)支持 JavaScript、CoffeeScript、TypeScript、CSS 和 Cython 等。

(4)支持远程开发、Python 分析器、数据库和 SQL 语句。

Community 版本

(1)它是轻量级的 Python IDE,只支持 Python 开发。

(2)免费、开源、集成 Apache2 的许可证。

(3)智能编辑器、调试器、支持重构和错误检查,集成 VCS 版本控制。

这里建议下载 Professional 版本。

版本 激活 网上都有参考教程

1.下载安装包

PyCharm官方网址: PyCharm,您需要的唯一 Python IDE

打开PyCharm代码编辑器

点击主页右侧【下载】/【Download】按钮,进入下载页面,往下滑到黑色背景区域,点击黑色背景区域的【下载】按钮下载软件。

注:上部分白色背景区域为专业版,需付费,仅30天免费试用期。下方黑色背景区域为社区版,为免费版本。

2.软件安装

软件下载完成后,点击“打开文件”开始安装。

在安装界面点击【Next】。

安装路径选择界面,可不修改,使用默认路径,点击【Next】。

勾选“Create Desktop Stortcut”下方的选框,为安装完成后生成桌面图标;

勾选“Create Associations”下方的选框,将Python所有文件使用此软件(PyCharm)打开。

点击【Next】。

选择开始菜单文件夹界面,直接点击【Install】开始安装软件。

安装完成后,点击【Finish】完成安装。

三、安装 pip

(1)安装 pip 之前,首先确认你的 Python 环境正常,然后通过官网下载 pip 安装包,(pip · PyPI

(2)将下载的包解压,如解压到 D 盘,然后通过 Win+R 快捷方式打开命令提示符窗口,

并在命令提示符中进入到 pip 文件目录下

(3)在 pip 目录下,输入命令“python setup.py install”进行 pip 模块的安装;安装完成后

会有“Finished processing dependencies for pip==19.1.1”字样,如图 1-3-5 所示。

(4)待安装完成后,在命令提示符中输入“pip --help”,如果有相应的输出且没有报错,

则表示 pip 成功安装

以上所述操作是下载 pip 压缩包进行安装的操作,也可下载“pip−19.1.1-py2.py3-none

any.whl”直接安装。同样,pip 命令也支持扩展名为.whl 的文件直接安装 Python 扩展库。

(5)部分 Python 版本默认安装了 pip,但是由于不是最新版本故需要升级,pip 的升级命

令为“python-m install pip--upgrade pip”。

第二章 pycharm编辑器使用

1.打开浏览器,点击文件-》新建项目

2.选择项目文件存储目录,建议点击右侧文件夹按钮在电脑上新建一个文件夹,用于存储此项目所有文件。

基本解释器:右侧下拉选择已安装的解释器。

PyCharm自动创建的 venv 文件夹,为虚拟环境文件夹,表示此项目独立的Python虚拟环境,存在的目的是让不同的项目可以使用不同的Python解释器版本,还有安装的第三方库等。此文件夹不要移动,不要删除,不要往里面放任何东西。

虚拟环境的好处是可以让不同项目使用不同解释器版本、第三方库等,适用于程序员做多个项目以及团队合作的情况。但对新手来说,用虚拟环境不是必要的,所以如果没有 venv 文件夹,也不用专门回去修改。

3.新建Python代码文件

在输入框输入文件名称,按回车键确认;

4.输入测试代码后运行

print(“hello world!!”)

英文输入法输入相应代码,符号也必须英文状态下输入,否则会出错。

注:引号可以是 双引号 ,也可以是 单引号 。引号以及引号内的内容为字符串。即使里面写的数字,也会被视为字符串。

测试运行代码。代码输入完成后,右击代码框,选择【运行】按钮运行代码;

运行窗口,显示程序运行状态。运行窗口的第一行和最后一行是软件自动生成的,第一行为PyCharm在运行代码时自动触发的运行指令,最后一行末尾显示为0,则代表程序无错误,如果是非零的数字,代表程序有错误。中间部分为程序运行的结果输出内容。

如果程序编辑错误,软件会自动用红色下划线提示,运行了错误的程序,运行窗口也会有错误提示内容。最后一行末尾数字也会是非零的数字。

注:如果不知道错误原因,可以复制错误提示的最后一行到百度内,粘贴并搜索,能找到别人也遇到过相似的问题的处理方式和原因。

第三章 基础语法指令

代码块:

缩进相同的一组语句构成一个代码块,我们称代码块。像 if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号(:)结束,该行 之后的一行或多行代码构成代码块。

行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号({})来控制类、 函数及其他逻辑判断,而使用缩进来写代码块;

Python 语句一般不用分号(;)表示结束,而是直接以换行表示一行结束。除了条件循环语句体,其他用换行表示行结束,继续下一个新 行。当然,Python 也可以使用分号(;)来结束语句,这个常用于一行里写多条代码时,用分号(;)隔开不同的语句。如以下两种方式都可以。

一、变量

Python语言在定义变量时,不需要指定变量的数据类型,Python程序会根据变量值,自动确定变量类型。

变量名称规则:字母、数字、下划线组成;

不能有除了下划线以外的符号;

不能有空格;

不能以数字开头;

不能用双引号包括;

变量区分大小写;

不能使用专用关键字。(False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield)

变量命名建议:不要使用拼英,使用英文单词组命名,Python3.0版本后支持中文变量,但是不建议使用中文变量,可能存在乱码。

Python变量命名约定俗成使用 下划线命名法。

1.字母全部小写

2.不同单词用下划线分隔

例如:user_age user_gender

变量赋值操作用单等号,例如 my_love = 123456789

代码是一行一行执行的,故使用变量时,变量必须在此之前定义,否则会出错。

二、注释

# 为注释符,仅当前行注释。

快捷键: ctrl+/

如果需要撤销注释,选择注释行,按 ctrl+/ 将撤销注释。

快捷键注释方法适用于一次性注释连续的多行或连续的撤销注释。

三引号注释, “”" “”" ,也适用于多行注释。

如果将多行注释前面加上变量名和等号,将代表将此内容赋值给一个变量。

str="""
一
二
三
"""
print(str)

三、数据类型

1、字符串 str

字符串特点是被双引号或单引号包裹,例如:”字符串” ‘字符串’

(1)字符串连接

字符串之间用“ + ”号作为连接符。

例如:print(“Hello”+” World”+”!”)

(2)单双引号转义

print("He said "good!"")

此行程序会出错,默认为前面两个引号为一组,后面两个引号为一组,第二个到第三个引号之间的内容会出错。

需要改为以下指令:

print("He said 'good!'")
print('He said "good!"')

如果一句话内有单引号和双引号,例如:

“He said “Let’s go!””

需要在引号前加反斜杠 ** ,表示后面的引号为引号符号,是内容的一部分,不是结束符。

print("He said \"Let\'s go!\"")

(3)换行

\n 表示换行

print("Hello! \n Hi!")

打印出来的内容如下图,Hi!显示在下一行。

(4)三引号跨行字符串

三个连在一起单引号或双引号。

“”" “”" ‘’’ ‘’’

(5)字符串转换

a=1
print(type(a))
b=str(a)
print(type(b))

<class 'int'>
<class 'str'>

(6)字符串截取

x="xyz123"
print(x[1])
print(x[2:4])

y
z1

(7)字符串分割

m="aaa,bbb,ccc,ddd"
print(m.split(","))

['aaa', 'bbb', 'ccc', 'ddd']

(8)字符串替换

n="aaa,bbb,ccc,ddd"
print(n.replace(",","或"))

aaa或bbb或ccc或ddd

(9)字符串长度len()

可以对字符串使用 len 指令得到字符串长度;可以提取字符串中某一个位置的单个字符;字符串编码从0起始。例如:

print(len("Hello"))
print(len("你好!"))
print(len("\n"))
print("hello"[0])

(10)格式化字符串

format方法

位置参数:format内的参数起始编号以0开始,即花括号引用的0表示第一个参数,1表示第二个参数。

name = "Alice"
age = 30
print("Hello, {}. You are {} years old.".format(name, age))


Hello, Alice. You are 30 years old.

关键字参数:format还可以根据关键词引用,这种方式就不需要考虑参数在format内的哪个位置,只根据关键词引用。

print("金额是{num}元".format(num=99.8))

金额是99.8元

f-字符串

f字符串引用已定义的字符串变量。

name ="老林"
year ="虎"
message_content =f"""
律回春渐,新元肇启。
新岁甫至,福气东来。
金{year}贺岁,欢乐祥瑞。
金{year}敲门,五福临门。
给{name}及家人拜年啦!
新春快乐,{year}年大吉!
"""
print(message_content)

律回春渐,新元肇启。
新岁甫至,福气东来。
金虎贺岁,欢乐祥瑞。
金虎敲门,五福临门。
给老林及家人拜年啦!
新春快乐,虎年大吉!

format方法调到用字符串可以直接调用数字,不需要额外进行数字转字符串的操作。

还可以使用 冒号+点+数字+f 来指定浮点数在格式化是保留几位小数。

字符串函数:Python 字符串 | 菜鸟教程

2、整数 int、浮点数 float

6 -32 整数 int

6.0 10.07 浮点数 float

3、布尔类型 bool

只有两种:真 假 True False (区分大小写)

4、空值类型 NoneType

只有一种值: None

表示完全没有值

None 不是0,不是空字符串””,也不是False。

当不确定变量数据类型时,可以使用 type 指令反馈变量类型。

print(type("hello"))
print(type(32))
print(type(3.0))
print(type(True))
print(type(None))

5、列表 []

(1)特点:有序,可重复,可扩展

shopping_list = []

一个空列表用 中括号 [] 表示。

shopping_list = [“ 键盘”,”鼠标”]

(2)列表方法:

追加:append()

删除:remove()

元素数量:len()

列表提取:shopping_list[1]

shopping_list.append = [“ 显示器”]

shopping_list.remove = [“ 显示器”]

shopping_list = [“键盘”,”鼠标”,”硬盘”]

len(shopping_list) ,返回为3,列表求长度返回的是列表中元素的数量;

列表内可放不同类型的数据;

也可以通过索引获取列表中某个元素。

shopping_list =[“键盘”,”鼠标”,”硬盘”]

print(shopping_list[0]) ,返回为 键盘,列表索引也是从0开始。

列表为可变数据类型。

6、元组 tuple()

元组 特点:有序,可重复, 不可扩展

不可变但又很像列表的数据结构 。

元组内可放多个元素。

列表用方括号;元组用 圆括号() 。

元组不可变,添加、删除等操作都不能操作

可以把元组作为键使用:

contacts={
    ("张伟",23):"15000000000",
    ("李四",34):"15000000001",
    ("王五",56):"15000000002"
}
zhangwei23_phone=contacts[("张伟",23)]
print(zhangwei23_phone)

15000000000

7、集合 set()

集合 特点:无序, 不可重复,可扩展

names ={'张三','李四','王五','张三','李四'}
print(names,type(names))

以上程序运行输出内容:
{'李四', '王五', '张三'} <class 'set'>

8、字典 {}

键 : 值

key value

contacts = {}

一个空字典用 花括号 {} 表示。

键必须为不可变数据类型;即字符串、整数、浮点数等,不能为列表。

contacts={"小明":"13700000000",
        "小花":"13700000001"}

判断键是否存在字典里面: “ 键”in 字典名

print("小明" in contacts)

True

删除键与对应的值: del 字典名[“键”]

**** 如果键不存在,指令会报错。

求键值对数量: len( 字典名)

contacts={"小明":"13700000000",
        "小花":"13700000001"}
print(len(contacts))

2

返回字典的键、值、键值对的方法key()、values()、items():

contacts={"小明":"13700000000",
        "小花":"13700000001"}
print(contacts.keys())
print(contacts.values())
print(contacts.items())

dict_keys(['小明', '小花'])
dict_values(['13700000000', '13700000001'])
dict_items([('小明', '13700000000'), ('小花', '13700000001')])

四、input——用户输入指令

执行 input 指令时,读取用户输入的数据。

name=input("请输入你的姓名:")
weight=float(input("请输入你的体重(单位:千克:)"))
print(name,weight)

五、数学运算

带双引号的数字是字符串 “6” ,

带小数点的数字都是浮点数 6.0 ,

不带小数的数字为整数 6 。

加(+) 减(-) 乘(*) 除(/) 乘方(**)

在程序前添加 import math **** 指令,可以将Python内置的函数库加载到程序内。

使用内置函数可以直接访问,例如 math.sin(1)

内置函数库网址: math — 数学函数 — Python 3.13.0 文档

六、条件语句

== 比较运算符 等于 。

!= 比较运算符 不等于 。

条件判断语法结构:

score=float(input("请输入你的成绩:"))
if score==100:
    print("奖励100元")
else:
    print("下次继续努力!")

执行语句需要缩进四个空格,如果不缩进,默认为条件语句已经执行结束。

七、嵌套/多条件判断

下图表示多条件嵌套写法,注意缩进数量。

条件判断语句内可以使用连续的判断符号 if 0<= score <= 100:

score=float(input("请输入你的成绩:"))
if 0<=score<=100:
    if score>=80:
        print("优秀");
    elif score>=70:
        print("良");
    else:
        print("差")
else:
    print("成绩非法")

三目运算符 :是 if…else… 双分支结构的缩写形式。

格式: 结果1 if 条件 else 结果2

结果1:条件成立时返回的结果

结果2:条件不成立时返回的结果

例子: second_max = num1 if num1 > num2 else num2

判断num1是否大于num2,如果成立,则返回num1的值赋值给左边的变量,否则返回num2的值给左边的变量。

num1=12
num2=23
second_max = num1 if num1 > num2 else num2
print(second_max)

八、逻辑运算

与(and) 所有条件为True,才会返回True;只要有一个为False,就为False。

或(or) 只要有一个条件为True,就会返回True;所有条件为False,才为False。

非(not) 操作对象为True,则返回Flase;操作对象是Flase,则返回True。

优先级顺序 not ——> and ——> or

也可以使用括号改变运算顺序not(x>5 and (x<10 or x==12))

九、for循环

contacts={"小明":"13700000000",
        "小花":"13700000001"}
for name,phone in contacts.items():
    print(name,phone)

小明 13700000000
小花 13700000001

break **** 终止当前循环,,使程序跳出循环体。

fruits = ["apple", "banana", "cherry", "orange", "pear"]
for fruit in fruits:
    if fruit == "orange":
        print("找到了橙子!")
        break
else:
    print("没有找到橙子。")

找到了橙子!

continue **** 结束当前循环剩余语句,继续下一轮循环

# 打印1到10之间的奇数
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)


1
3
5
7
9

pass 在Python中是一个空语句,什么都不做,占位语句, 它的主要目的是为了保持程序结构的完整性。当你在编写代码时,可能只想先搭建起程序的整体逻辑结构,而暂时不去实现某些细节。在这种情况下,你可以使用pass语句来占位,这样就可以避免因为语句块为空而导致的语法错误。pass语句不会执行任何操作,它只是一个空白的语句块。

十、range整数序列

range 表示整数序列
range(5,10)

第一个数字为起始值,第二个数字为结束值,注:结束值不在序列范围内。

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

5
6
7
8
9

range(5,10,2),range的第三个参数为步长,不指明的时候默认为1

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


5
7
9

十一、while循环

total = 0
i = 1
while i <= 5:
    total += i
    i += 1
    
print(total)

15

有明确的循环对象或次数时用for循环。

循环次数未知时用while循环。

本节结束,后续将持续更新,希望读者喜欢支持

更多推荐