给看了都能学会的Python入门教程!爆肝一个月(五万字长文)

 

 

 

 

 概叙

       在自己学python的过程中,由于学习周期过长,很多命令又不是很常用,导致出现边学边忘的情况出现。故翻看了以前的基础课程及随堂笔记,对其进行整理,最终梳理出这套python基础语法万字笔记。借助b站学习平台分享给大家,方便大家可以在遇到问题时做字典使用,可以快速的回忆起基础函数用法。 

一、python程序的基本格式 1 缩进 1.使用tab制表符或空格表示缩进,默认为一个制表符或4个空格为一个层级。(某些编辑器可自动调整tab为四个空格) 2.同一程序内缩进数量应保持一致。(你可自定义空格数量表达层级关系,但是你用俩空格,你后面所有的都要用俩空格) 

age = int(input("请输入您的年龄:"))
if abs(age) >= 18:
   print("您已成年")
else:
   print("您还是未成年") 

2 大小写 python区分大小写,python和Python代表两个不一样的对象。

#python里区分大小写,变量命名时应注意使用
name = "杰尼龟"
name = "水箭龟"
Name = "皮卡丘"
print(name) #结果为水箭龟
print(Name) #结果为水卡丘 

3 注释 注释表示该语句在程序运行时不被执行。单行注释使用【# 注释语句】,多行注释采用【'''注释语句'''】。

#这是单行注释,程序不会运行该语句

'''
这是一段多行注释,
其实就是一个多行字符串,
但是你没有将它赋值给变量也没有对他进行操作,
所以程序也不会对它干什么,但是我们肉眼可看到,所以将它作为一个多行注释来使用。

4 行连接符及【;】的使用 python中一行代码过长时可在想换行处使用行连接符【\】,进行换行编写。程序还是会认为它在同一行。

print("随便打一串文\
字做一下测试")

#如果想把几行代码写为一行,可用【;】进行连接。

num = 2 ; result = num + 3
print(result) 

5 转义字符 Python 支持的转义字符 常用转义字符 

​二、程序的构成

对象 

python中一切皆对象 

 1.每个对象皆有对应的标识(id)、类型(type)、值(value)。

 2.变量通过存储对象ID对其进行引用。

 3.对象只能进行与其类型对应相关操作。

å¨è¿éæå¥å¾çæè¿°

​2 标识符 

用于变量、函数、类、模块等的名称 命名规则: a.区分大小写。如:zxl和Zxl是不同的; b.第一个字符必须是字母、下划线。其后字符是字母、下划线、数字; c.不能使用关键字,如:if、elif、or等; d.以双下划线开头和结尾的名称通常由特殊含义,尽量避免此种写法。如:init是类的构造函数。 

常见关键词,不可做变量名

​​

约定俗成,非硬性规定。为了提高别人看你代码时的可阅读性 

3 变量(变量作用域:全局变量、局部变量详见扩充部分)

程序就是用来处理数据的,而变量就是用来引用数据的;python中的变量不需要指明类型,系统会自动识别。

3.1 变量的初始化(赋值)

利用【=】号进行赋值:变量名 = 表达式

a = "杰尼龟" #id = 1612667500272 
type:strprint(id(a),type(a))

python执行程序从上往下执行,如果后续代码中为变量重新指代了值,以前的那个值会被替换,并被python进行垃圾回收。 

3.2 变量的赋值方式

a.链式赋值

将一个对象同时赋值给多个变量。 变量1 = 变量2 = 对象1

a = b = "杰尼龟"
print(a,b) #结果为杰尼龟 杰尼龟

b.解包赋值 解包赋值可使用列表、元组、字典(均为python内置对象,详见基础数据类型板块)。方便我们对多个变量进行赋值 元组解包 

 (a , b , c) = (1 , 2 , 3) #等同于 a,b,c = 1,2,3
print(a , b , c) #结果为1 2 3 




列表解包

[a,b,c] = [[1,2],3,[4,5]]
print(a) #结果为[1, 2]
print(b) #结果为3
print(c) #结果为[4, 5] 

字典解包 字典解包时,默认是对键进行操作。如果想对值进行解包赋值,需使用values(),如果是想对键值对整体赋值,需使用items()(返回结果为元组类型)。

s = {"name":"杰尼龟","age":18,"color":"yellow"}
a,b,c = s
print(a,b,c) #结果为name age color
a,b,c = s.values()
print(a,b,c) #结果为杰尼龟 18 yellow
a,b,c = s.items()
print(a,b,c) #结果为('name', '杰尼龟') ('age', 18) ('color', 'yellow') 

3.3 变量值互换 

 变量1,变量2 = 对象1 ,对象2 

 变量1,变量2 = 变量2 , 变量1

a , b = 1 , 2
a , b = b , a
print(a,b) #结果为2 1 

3.4 删除变量 可通过del删除不再使用的变量。 

 a = b = "杰尼龟"
del a
print(b) #结果为杰尼龟
print(a) #抛出异常:name 'a' is not defind 


变量删除后,变量指代的对象依然存在,但是没有变量引用的对象会被python垃圾回收器回收,清除内存空间。像此处‘杰尼龟’字符串还被引用向了b,所以删除a变量,并不影响b的引用 

4 程序的输入与输出 

4.1 输入函数 

 python利用内置函数input()来获取控制台键盘输入的内容,并将内容存储于变量。

【变量 =input("提示信息") 】

age = input("请输入您的年龄:")
print(type(age)) #结果为<class 'str'> 

获取到的数据会存储为字符串类型

4.3 不换行打印 

 调用print()函数时默认结尾为换行符,可调整为其他字符串,使函数进行不换行打印。

 a , b = 1 , 2
print(a,end="**") #结果为1**2(在同一行,不会换行)
print(b) #如不加end=str,默认为end= "\n" 

三、基本数据类型 

1 布尔型(bool) 

 1.1 布尔值的创建 

布尔型中只有True和False两个值,表示真和假(注意大小写); 

 1.2 布尔值的运算 

 a.作为布尔值使用时通常搭配逻辑运算符与(and)或(or)非(not)进行使用。 b.也可做为数字1和0使用(True为1,False为0)。 

 #and:一假返回假,or:一真返回真,not :返回相反值
print(True and True) #结果为True
print(True and False) #结果为False
print(False and False) #结果为False
print(True or True) #结果为True
print(True or False) #结果为True
print(False or False) #结果为False
print(not False) #结果为True
print(not True) #结果为False
print(True + 1) #结果为2
print(False + 1) #结果为1 

2 数字型 

 2.1 整数型(int)

 即为数学上的整数,例如:1,2,25,30等。 

 2.2 浮点型(float) 

 即为数学上的小数,包含.0小数,例如1.5,2.83,17.0等。 

 2.3 算术运算符 

 以下假设变量 a=10,b=20: 当整数与浮点数进行运算时,返回的值默认为浮点数。 

 a , b = 2 , 2.5
print(type(a * b)) #结果为<class 'float'> 

2.4 数字格式化 

 下表展示了 str.format() 格式化数字的多种方法:

  a = 3.1415926
print("{:.2f}".format(a)) #结果为3.14

^,<,>分别是居中、左对齐、右对齐,后面带宽度,: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。 +表示在正数前显示+,负数前显示-,(空格)表示在正数前加空格 b、d、o、x 分别是二进制、十进制、八进制、十六进制。 

2.5 其他操作 

 divmod()函数 

 同时得到商和余数。 

a = 10
b = 3
print(divmod(a,b)) #结果为元组(3,1) 

round()函数

 将浮点数四舍五入。 

 a = 3.678
print(round(a))#结果为4 

chr()函数

 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符(参数可以是16进制或者10进制)。

 a = 66 #十进制
b = 0x68 #十六进制
print(chr(a)) #结果为B
print(chr(b)) #结果为B 

int()函数 

 将数字型对象转化为整数(直接取整,非四舍五入) 

 a = 6.9
print(int(a)) #结果为6 

float()函数 

 将数字型对象转化为浮点数(整数后直接加.0) 

 a = 2
print(float(a)) #结果为2.0 

3 字符串型(str)(个人后期学习中最常见的数据类型)

 是一种不可变的字符序列:后续所有拼接/修改操作均为形成新的字符串数据(标点符号及空格也是字符)。

3.1 字符串的创建 

 利用单引号('xxx')/双引号(“xxx”)进行创建。

 a = '杰尼龟' ; b = "可达鸭"
c = "my name is '杰尼龟'"
print(type(a),type(b)) #结果为<class 'str'> 

多行字符串(‘’‘xxxxxxx''')进行创建。 

a = '''杰
尼
龟'''
print(type(a)) #结果为<class 'str'> 

3.2 字符串的拼接 使用【+】号进行拼接,生成一个新的拼接后的字符串对象。 

 a ,b , c= '杰尼龟' , "可达鸭" ,111
print(a + str(c) + b)#结果为杰尼龟111可达鸭
#str():将对象转换为一个字符串类型 

直接字符串相接也可拼接 

 c= '杰尼龟' '暴打'"可达鸭"
print(c)#结果为杰尼龟暴打可达鸭 

“”.join(list) 

 将列表中字符串用特定字符拼接起来,不指定字符默认为直接拼接。(列表数据详见后面章节) 

a = ['我', '叫', '杰', '尼', '龟']
print("".join(a)) #结果为我叫杰尼龟
print("*".join(a)) #结果为我*叫*杰*尼*龟 

使用【+】,每【+】一次会形成一个新的对象。使用join在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。大型运算时推荐使用join

3.3 字符串的复制 

 字符串可直接使用乘法运算符进行复制

 c = '杰尼龟'
print(c * 3)#结果为杰尼龟杰尼龟杰尼龟 

3.4 字符串的复制 

 str.isdigit() 

 检查字符串内部是否全部是数字,返回True或False。

c = '123456'
print(c.isdigit())#结果为True
c = '123 456'
print(c.isdigit())#结果为False 

str.isalpha() 

 检查字符串内部是否全是字母,返回True或False。

c = 'asdfgh'
print(c.isalpha())#结果为True
c = 'asdfgh123'
print(c.isalpha())#结果为False 

str.isupper() 

 检查字符串内部是否全是大写字母,返回True或False。 

c ='ASDFGH'
print(c.isupper())#结果为True
c =  'asdfgh'
print(c.isupper())#结果为False 

str.islower() 

 检查字符串内部是否全是小写字母,返回True或False。 

c ='asdfgh'
print(c.islower())#结果为True
c ='ASDFGH'
print(c.islower())#结果为False

str.endswith() 检查字符串内部是否以指定字符串结尾,返回True或False。

c ='asdfgh'
print(c.endswith("gh"))#结果为True 

str.startswith() 检查字符串内部是否以指定字符串开头,返回True或False。

c ='ASDFGH'
print(c.startswith("AS"))#结果为True 

str.isspace() 检查字符串内部是否全是空格,返回True或False。 

 c =' '
print(c.isspace())#结果为True

3.5 查找字符串 

 len() 

 查找字符串的长度,返回长度数值。

c ='123456789'
print(len(c))#结果为9 

str.find() 

 查找指定字符在字符串中从左往右第一次出现的位置,有则返回字符下标(编号),没有返回-1。 

 c ='123456789'
print(c.find("3"))#结果为2
print(c.find("10"))#结果为-1 

str.rfind() 

 查找指定字符在字符串中从右往左第一次出现的位置,有则返回字符下标(编号),没有返回-1。 

c ='1234567289'
print(c.rfind("2"))#结果为7
print(c.rfind("10"))#结果为-1 

str.index() 

 查找指定字符在字符串中第一次出现的位置,有则返回字符下标(编号),没有抛出异常。

c ='123456789'
print(c.index("9"))#结果为8
print(c.index("10"))#结果为ValueError: substring not found 

str.count() 

 查找指定字符在字符串中总共出现次数,返回数量。 

c ='123456789123465184'
print(c.count("1"))#结果为3
print(c.count("10"))#结果为0 

3.6 “修改”字符串

 python中字符串本身为不可修改类型,所有修改操作均为创建新的对象,原字符串不做改变。(修改后需赋值给新的变量或替换原变量) 

 str.replace("old","new") 

 使用指定字符替换字符串中对应字符。

a = "hello world"
print(a.replace("o","0"))#结果为hell0 w0rld 

str.upper() 将字符串内部字母转换为大写字母。 

a = "12345asdf"
print(a.upper())#结果为12345ASDF

str.lower() 

 将字符串内部字母转换为小写字母。 

a = "12345ASDF"
print(a.lower())#结果为12345asdf 

str.capitalize()

 将一个字符串的第一个字符改为大写字母,其余字母变小写。如果第一个字符不是字母,则仅将后续字母改为小写。 

a = "12345ASDF"
print(a.capitalize())#结果为12345asdf
a = "a2345ASDF"
print(a.capitalize())#结果为A2345asdf 

str.split() 

 将字符串按照指定字符进行分割为多个字符串并存储在列表中,如不指定字符,默认为空格、换行符、制表符。 

a = "我 叫 杰 尼 龟"
b = "我*叫*杰*尼*龟"
print(a.split())#结果为['我', '叫', '杰', '尼', '龟']
print(b.split("*"))#结果为['我', '叫', '杰', '尼', '龟'] 

str.title() 

 将字符串中每个单词的首字母大写,其余改为小写 

a = "my name"
b = "MY NAME"
print(a.title())#结果为My Name
print(b.title())#结果为My Name 

str.swpacase() 

 将字符串中所有字母大小写互换

a = "My Name"
print(a.swapcase())#结果为mY nAME 

str.strip() 

 将字符串中首尾的指定字符去除(可不写参数,默认为空白/换行符/制表符等肉眼不可见符号) 

a = '**杰尼*龟*'
print(a.strip("*")) #结果为杰尼*龟 

str.lstrip() 

 将字符串中左侧的指定字符去除 

a = '**杰尼*龟*'
print(a.lstrip("*")) #结果为杰尼*龟* 

str.rstrip() 将字符串中左侧的指定字符去除 

a = '杰尼*龟

eval():去除首尾引号,并执行余下语句

a = '123'
print(eval(a)+2) #结果为125 

ord():将单字符串转换为对应的Unicode编码 

 a = "杰"
print(ord(a)) #结果为26480 

3.7 字符串排版 

 str.center(num,"x") 

 填充x字符使字符串达到num长度,并将其居中 

a = "杰"
print(a.center(5,"*")) #结果为**5** 

str.ljust(num,"x") 

 填充x字符使字符串达到num长度,并将原字符串居左 

 a = "杰"
print(a.ljust(5,"*")) #结果为杰**** 

str.rjust(num,"x") 

 填充x字符使字符串达到num长度,并将原字符串居右 

a = "杰"
print(a.rjust(5,"*")) #结果为****杰 

3.8 format()函数的应用(经常用到) 

 使用示例

a = "杰尼龟"
b = "可达鸭"
print("{}暴打{}".format(a,b)) #结果为杰尼龟暴打可达鸭
print("{0}暴打{0}".format(a,b)) #结果为杰尼龟暴打杰尼龟
print("{0}暴打{1}".format(a,b)) #结果为杰尼龟暴打可达鸭
print(f"{a}暴打{b}") #结果为杰尼龟暴打可达鸭,是上面写法的简易,{}中直接填入变量名

format()函数 

 print("{0}*{1}={2:*<7}".format(3,2,2*3)) 

位置索引

å¨è¿éæå¥å¾çæè¿°


关键字映射

å¨è¿éæå¥å¾çæè¿°


元素访问

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

填充对齐

a , b , c = "杰尼龟" , "可达鸭" , "杰尼龟"
print("{0:*^7}使用火箭头槌暴打{1:*>7}和{2:*<7}".format(a,b,c))
#结果为**杰尼龟**使用火箭头槌暴打****可达鸭和杰尼龟**** 

【^,<,>】分别是居中、左对齐、右对齐,后面带宽度,: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

3.9 字符串索引操作 

 str[num]:找到字符串指定位置的字符。 

 标点符号及空格也是字符 

a= "my name is '杰尼龟'"
print(a[3]) #结果为n 

3.10 字符串切片操作 

 str[x:y:±step]:从编号x到编号y之前,从左到右或从右到左以step间隔取值 ​

å¨è¿éæå¥å¾çæè¿°

在切片操作中,起始终止编号不在[0:字符串长度-1]这个范围内也不会报错,超过0或末端按0和末端截取

4. 类型转换 

 在python中可使用内置函数对数据类型进行类型转换: 

 ① str():将数据转换为字符串类型; 

 a , b , c ='123',456,789.5
print(str(b)) ; print(str(c)) #结果为'456' 、 '789.5' 

​② float():将纯数字字符串或整数转换为浮点数; 

 a , b , c ='123',456,789.5
print(float(a)) ; print(float(b)) #结果为123.0 、 456.0 

③ int():将纯数字字符串或浮点数转换为浮点数。

 a , b , c ='123',456,789.5
print(int(a)) ; print(int(c)) #结果为123 、 789 

int()函数转换是直接去掉小数点,而不是四舍五入 

四、运算符 

 1. 比较运算符 

2.逻辑运算符


3.身份运算符

4.成员运算符


5.算术运算符


6.赋值运算符

7.位运算符(暂时我也还没用过这东西)

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:

8.Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

由于篇幅有限分为上下两篇更新!这篇是上篇!

可以加下我的群领取完整全套视频源码教程看!免费领取:点这里即可

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python是世界上最好的语言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值