🔗 运行环境:python,IDLE,Pycharm

🚩 撰写作者:左手の明天

🥇 精选专栏:《python》

🔥  推荐专栏:《算法研究》

💗 !大家好🤗🤗🤗,我是左手の明天,好久不见!💗

📆  最近更新:2022 年 10 月 23 日,左手の明天的第 270 篇原创博客

📚 更新于专栏:python

近期,好多小伙伴在询问python如何进行入门,这个其实我也不知道怎么回,因为每个人的学习方式和接受程度不同,有些人觉得入门的点而在有些人眼里却是太简单,太low,编程语言的学习每个人可能都有不同的学习方法和看法,但是,任何语言入门基础是最重要的,所谓积少成多,学好基础知识,也就是对一门语言精通的前提。

前期,写了一些python的介绍:

【python技能树】python简介

【python技能树】python程序设计思想

【python技能树】Windows/Linux系统下python的安装与环境配置

【python技能树】详解python的运行方式

【python技能树】强推10款Python常用的开发工具

【python技能树】python编码规范

【python技能树】python模块管理


Python这门语言有点太多,使用人数也对,主要有点有如下几点:

  • Python是一种开源的、解析性的,面向对象的编程语言
  • Python使用一种优雅的语法,可读性强
  • Python具有丰富的库,可以处理各种工作
  • Python支持类和多层继承等的面向对象编程技术

目录

1 python命名规则

2 Python标识符

2.1 标识符的组成

2.2 标识符的命名

3 Python 保留字符

3.1 保留字符

3.2 内置函数-改变字母大小写

3.2.1 用re.sub()函数替换

3.2.2 ⽤re.findall()函数查找

4 行和缩进

4.1 缩进

4.2 多行语句

4.3 空行

5 Python引号

6 Python注释

7 Python数据类型 

7.1 标准数据类型

7.2 Python数字

7.3 Python字符串

7.4 Python列表

7.5 Python元组

7.6 Python 字典

7.7 Python数据类型转换 

8 条件和循环

8.1 Python 条件语句

8.2 Python 循环语句

9 Python 函数

9.1 定义函数遵循的相关规则

9.2 函数语法

9.3 实例 

10 Python 模块 

10.1 定义模块好处

10.2 模块的引入

11 Python文件I/O

11.1 打印到屏幕

11.2 读取键盘输入

11.3 打开和关闭文件

11.3.1 open 函数

11.3.2 close()方法

11.3.3 write()方法  

11.3.4 read()方法

11.4 Python File(文件) 方法


1 python命名规则

类型		命名规则										         举例
模块名/包名	全小写字母,简单有意义如果需要可以使用下划线	         math、sys
函数名	    全小写字母,可以使用下划线增加可阅读性	                 foo(), my_func()
变量名	    全小写字母,可以使用下划线增加可阅读性	                 age、my_var
类名	    采用驼峰命名规则,多个单词组成名称每个单词的首字母大写	 MyClass
常量名	    全部大写字母,可以使用下划线增加可阅读性     	         LEFT、TAX_RATE

2 Python标识符

2.1 标识符的组成

(1)标识符是变量、函数、类、模块和其他对象的名称。

(2)在 Python 里,标识符由字母、数字、下划线组成。

(3)在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

(4)Python 中的标识符是区分大小写的。也就是说,两个同样的单词,如果⼤⼩格式不⼀样,多代表的意义也是完全不同的。如number和Number

(5)Python 可以同一行显示多条语句,方法是用分号 ; 分开。

(6)以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入

(7)python语⾔中,以下划线开头的标识符有特殊含义,如

  • 以双下划线开头的 __foo 代表类的私有成员;
  • 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

2.2 标识符的命名

不同场景中的标识符,其名称也有⼀定的规范可循,例如:

(1)当标识符⽤作模块名时,应尽量短⼩,并且全部使⽤⼩写字母,可以使⽤下划线分割多个字母,例如game_mian、game_register等

(2)当标识符作包的名称时,应尽量短⼩,也全部使⽤⼩写字母,不推荐使⽤下划线,例如:com.mr、com.mr.book等

(3)当标识符⽤作类名时,应采⽤单词⾸字母⼤写的形式。例如定义⼀个图书类,可以命名为Book

(4)函数名、类中的属性名和⽅法名,应全部使⽤⼩写字母,多个单词之间可以⽤下划线分割

(5)常量命名应全部使⽤⼤写字母,单词之间可以⽤下划线分割

(6)避免使用python预定义标识符名作为自定义标识符名。 例如,NotImplemented、Ellipsis、int、float、list、str、tuple等


3 Python 保留字符

3.1 保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。

>>>import keyword
>>>keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', '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']

这些保留字中含大写字母的只有True、 False、None,其他全为小写字母。由于 Python区分大小写,in和IN是不一样的,IN不是保留字。

3.2 内置函数-改变字母大小写

使用内置函数 dir(builtins) 可以查看所有内置异常名和函数名。

Python内置函数
abs()	all()	any()	basestring()	bin()
bool()	bytearray()	callable()	chr()	classmethod()
cmp()	compile() 	complex()	delattr()	dict()
dir()	divmod()	enumerate() 	eval()	execfile()
file()	filter()	float() 	format()	frozenset()
getattr()	globals()	hasattr()	hash()	help()
hex()	id()	input()	int() 	isinstance()
issubclass()	iter()	len()	list()	locals()
long()	map() 	max()	memoryview()	min()
next() 	object()	oct() 	open() 	ord()
pow()	print()	 property()	 range()	raw_input()
reduce()	reload()	repr()	reversed()	zip()
round() 	set()	setattr()	slice()	sorted()
staticmethod()	str()	sum()	super()	tuple()
type()	unichr()	unicode() 	vars()	xrange()
zip()	__import__()	apply()	buffer()	coerce()
intern()	 	 	

改变字母大小写很简单,用内置函数即可。重点在于只保留字母和数字字符。

3.2.1 用re.sub()函数替换

re.sub(pattern, repl, string, count = 0, flags = 0)

这个函数⼀般只需要掌握前三个参数:

  1. pattern,正则中的模式字符串。
  2. repl,希望被替换成的字符串。
  3. string,要被处理的原始字符串。
  4. 返回处理过的字符串。

如果完全不懂正则表达式,pattern还是挺难理解的。

举个例子:

re.sub("[a-zA-Z0-9]", "", mystr) # 把字符串中的字母和数字都删除
  • 第⼀个参数,模式字符串,表⽰所有的字母和数字;
  • 第⼆个参数,希望被替换成的字符串,是个空字符串;
  • 第三个参数,希望被处理的原始字符串,变量名为mystr;
  • 返回处理过的字符串。

那么替换的逻辑就很好理解了。想只保留某种字符,就把除了该类字符以外的所有字符都替换成空字符串。

但这样有点不⽅便。如果只想保留中⽂,那么为了替换掉其他所有字符,就要在模式字符串⾥把其他所有类型的字符,包括字母、数字、特殊字符等等,全⾯地枚举⼀遍,写不全的话就会有漏⽹之鱼。

3.2.2 ⽤re.findall()函数查找

re.findall(pattern, string, flags = 0)

这个函数⼀般只需要掌握前两个参数:

  • pattern,正则中的模式字符串。
  • string,要被处理的原始字符串。
  • 返回所有与模式相匹配的字符的列表。
re.findall("[a-z]",mystr) # 返回字符串中所有⼩写字母的列表

得到列表之后,再来⼀个把序列连接成字符串的join⽅法,⼤功告成!

''.join(re.findall("[a-z]",mystr)) # 只保留⼩写字母,其他的都弄没

4 行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

4.1 缩进

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。以下代码会执行错误:

4.2 多行语句

通常,一行代码就是一条语句,但有时,一行代码比较长,导致无法在一行全部写下,这时,我们就需要分行来写,分行写有助于保持代码的可阅读性。

count = 3 + 4 \
        + 6 + 9 \
        + 10 + 11

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠,比如我们定义一个列表

lst = [1, 3, 4,
       5, 5, 2,
       7, 9, 10]

4.3 空行

空行与代码缩进不同,空行并不是Python语法的一部分。

书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

空行也是程序代码的一部分。

  • 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
  • 类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

5 Python引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

单引号字符串:'abc'

双引号字符串:"abc"

三引号字符串:'''abc'''(三单引号),"""abc"""(三双引号)

总结:

  • (1)单引号内可以使用双引号,中间的内容会当作字符串打印
  • (2)双引号内可以使用单引号,中间的内容会当作字符串打印
  • (3)三单引号和三双引号中间的字符串在输出时会保持原来的格式。
  • (4)引号无论单双都是成对出现,当字符串需要加入引号时,可采用单引号与双引号互相嵌套使用
  • (5)Python支持单引号,因为在某些场景下需要用到单引号,要么用“\”转义符转义(如果你的代码中有一大堆的转义符,肯定会很难看,python很好的解决了这个问题),要么外加一对双引号,如果是双引号,则外加一对单引号。

6 Python注释

python中单行注释采用 # 开头

python 中多行注释使用三个单引号(''')或三个双引号(""")

 


7 Python数据类型 

7.1 标准数据类型

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:

  1. Numbers(数字)
  2. String(字符串)
  3. List(列表)
  4. Tuple(元组)
  5. Dictionary(字典)

7.2 Python数字

数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。当你指定一个值时,Number对象就会被创建。

var1 = 1
var2 = 10

可以通过使用del语句删除单个或多个对象的引用。例如:

del var
del var_a, var_b

Python支持四种不同的数字类型:

  1. int(有符号整型)
  2. long(长整型[也可以代表八进制和十六进制])
  3. float(浮点型)

7.3 Python字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。

python的字串列表有2种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

s = 'ilovepython'

s[1:5]的结果是love

7.4 Python列表

  • List(列表) 是 Python 中使用最频繁的数据类型。
  • 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
  • 列表用 [ ] 标识,是 python 最通用的复合数据类型。
  • 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
  • 加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

7.5 Python元组

  • 元组是另一个数据类型,类似于List(列表)。
  • 元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。 

7.6 Python 字典

  • 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
  • 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  • 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

7.7 Python数据类型转换 

函数

描述

int(x [,base])

将x转换为一个整数

long(x [,base] )

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串


8 条件和循环

8.1 Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

  • Python 编程中 if 语句用于控制程序的执行,基本形式为

8.2 Python 循环语句

循环语句允许我们执行一个语句或语句组多次。

Python提供了for循环和while循环(在Python中没有do..while循环)

 

循环类型

描述

while 循环

在给定的判断条件为 true 时执行循环体,否则退出循环体。

for 循环

重复执行语句

嵌套循环

你可以在while循环体中嵌套for循环


9 Python 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

9.1 定义函数遵循的相关规则

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

9.2 函数语法

9.3 实例 


10 Python 模块 

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

10.1 定义模块好处

  • 模块让你能够有逻辑地组织你的 Python 代码段。
  • 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
  • 模块能定义函数,类和变量,模块里也能包含可执行的代码。

10.2 模块的引入

模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

import module1[, module2[,... moduleN] 

比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用: 

模块名.函数名 


11 Python文件I/O

11.1 打印到屏幕

最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下:

11.2 读取键盘输入

Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。

raw_input
input

二者区别

  • raw_input会提示你输入任意字符串,然后在屏幕上显示相同的字符串。
  • input函数和 raw_input函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。 

11.3 打开和关闭文件

Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。

11.3.1 open 函数

必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 语法:

file object = open(file_name [, access_mode][, buffering]) 
  • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
  • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
  • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

11.3.2 close()方法

File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。语法:

fileObject.close(); 

11.3.3 write()方法  

write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符('\n')。语法:

fileObject.write(string);

11.3.4 read()方法

read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。语法: 

fileObject.read([count]); 

11.4 Python File(文件) 方法

序号

方法及描述

1

file.close()    关闭文件。关闭后文件不能再进行读写操作。

2

file.flush()   刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件而不是被动的等待输出缓冲区写入。

3

file.fileno()  返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4

file.isatty()  如果文件连接到一个终端设备返回 True,否则返回 False

5

file.next()  返回文件下一行。

6

file.read([size])  从文件读取指定的字节数,如果未给定或为负则读取所有。

7

file.readline([size])  读取整行,包括 "\n" 字符。

8

file.readlines([sizehint])  读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行实际读取值可能比sizhint较大因为需要填充缓冲区。

9

file.seek(offset[, whence])  设置文件当前位置

10

file.tell()  返回文件当前位置。

11

file.truncate([size])  截取文件,截取的字节通过size指定,默认为当前文件位置。 

12

file.write(str)  将字符串写入文件,没有返回值。

13

file.writelines(sequence)  向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。


🌟全文共 8359个字,码字总结不易,老铁们来个三连:点赞、关注、评论🌟

🌟作者:左手の明天🌟

🌟原创不易,转载请联系作者并注明出处🌟

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐