Python3基础知识学习(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41805715/article/details/100048610

Python应用:

网络爬虫Scrapy

一种用机械的语言,以想要的方式对数据进行获取的方式

简单的数据爬虫

   import requests#网络访问包
   res=requests.get("http://baidu.com")#创建
   savefile=open("baidu.html","wb+")
   savefile.write(res.content)
   savefile.close()
   print("hello world")

数据分析
数学计算

python是什么呢?

Python是一门解释型的支持面向对象和面向过程编程、动态数据类型的扩平台的高级程序设计语言。

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机械语言的文件,运行时不需要重新解释,直接使用编译的结果就行了。程序执行效率高,依赖编译器,扩平台性差些。

**解释型语言:**解释型语言编写的程序不能进行预先编译,以文本存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了到编译工序,但是在运行程序的时候,必须先解释再运行

编译型语言和解释型语言对比:

**速度:**变异性语言比解释型语言执行速度快
**跨平台性:**解释型语言比编译型语言跨平台性好

Python是一门高级语言。
Python特点

可拓展
可移植
语法清晰
易维护
高效原型

Python严格要求缩进

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

Python基础语法

数值:
两种数值类型
整型:
123,34
浮点型:
67.3,57.0

a=67.
print(a)
//67.0

算数运算符
运算符描述实例a=10,b=20

+加 - 两个对象相加
a + b 输出结果 30

-减 - 得到负数或是一个数减去另一个数
a - b 输出结果 -10

  • 乘 - 两个数相乘或是返回一个被重复若干次的字符串
    a * b 输出结果 200

/ 除 - x除以y
b / a 输出结果 2

% 取模 - 返回除法的余数
b % a 输出结果 0

** 幂 - 返回x的y次幂
a**b 为10的20次方, 输出结果 100000000000000000000

// 取整除 - 返回商的整数部分(向下取整)
9//2
4
-9//2
-5
注:
(1)如果两个数值运算,操作数都是整数则结果是整数,否则如果其中之一是浮点数则结果是浮点数。
(2)0不能做除数

变量

常见变量命名规则

(1) 驼峰命名:
除了一个单词外,其他单词的第一个字母是大写
例如:applePie,firstBook

(2) 下换线命名
例如:apple_pie注

在这里插入图片描述
abs、int与round函数

(1) abs(x) 函数
在这里插入图片描述(2) int(x)函数
在这里插入图片描述
(3) round(x)函数
在这里插入图片描述
在这里插入图片描述

print(round(1.5))
print(round(2.5))
print(round(3.5))
// 2 2 4

round四舍五入是倾向于偶数

增量赋值

加法增量赋值:var+=n =>var=var+n
减法增量赋值:var-=n =>var=var-n
除法增量赋值:var/=n =>var=var/n
乘法增量赋值: var*=n =>var=var*n
求幂增量赋值:var**=n =>var=var**n

在这里插入图片描述
两个特殊的整型运算符

(1)整除运算符

对比与除法运算符/,整除运算符得到的结果是个去掉小数的整数
例如:5//2=2 , 5/2=2.5

(2)求余运算符%

求余运算符,运算结果是被除数除以除数得到的余数
例如5%2=1,-9%7=5
在这里插入图片描述括号与优先级

括号可以用来清晰地说明表达式的含义。当表达式中有括号时,算数运算符的执行书序优先级如下:

  • 括号中的部分优先计算(由内而外)
  • 幂运算
  • 乘、除、求余运算
  • 加法和减法
  • 多个同级的运算符之间从右向左进行运算

在这里插入图片描述

三种类型错误

(1) 语法错误
文法和标点错误称为语法错误
例如:
在这里插入图片描述
(2)运行时异常

一些语句的错与不是语法的错误,但是会在运行时报错,使程序终止。
例如:
在这里插入图片描述
(3)逻辑错误
程序没有语法和运行时错误,可以运行,但是运行结果与设计不一致,即出现了逻辑错误。

在这里插入图片描述

内存中的对象及垃圾回收机制
在这里插入图片描述
内存中的数值对象,变量n是指向数值内存的引用。当执行n=5时,程序在内存中分配了一块区域存放数值5,当执行了n=7时,内存有分配了一块区域存放数值7,但是引用指针指向了7,数值5占据的内存被丢弃了,最终Python会通过垃圾回收机制将没有引用指向的孤立内存回收。

字符串字面量

字符串字面量是字符构成的一个序列,并视其为一个整体。这里的字符是所有的字符,包括字母、数字、标点符号、空格和其他特殊字符
注:
切片和索引

获得字符串的字串或者寻找某个子串在字符中的位置成为求字符串的子串和索引

//索引
print("abc"[3])
//报错
print("abc"[-1])
//c

//切片
str1="abcd"
print(str1[0:2])
//ab
print("python"[-4:5])
//tho


//find rfind
str1="spam & eggs"
print(str1.find('s'))
//0
print(str1.rfind('s'))
//10

在这里插入图片描述

反向索引

除了正向索引之外,Python还支持自右向左使用负数进行索引,通过反向索引,最右端的字符引用是-1,它左边的是-2,依次类推。
在这里插入图片描述切片的默认边界

在切片表达式str[m:n]中,m和n的任何一个边界都可以省略,甚至都可以省略。在这种情况:
(1)str[:n]省略m表示左边界默认是0,n是长度
(2)str[m:]省略n表示右边默认是字符串长度,左边从m开始
(3)str[:]省略m和n表示整个字符串
在这里插入图片描述

字符串拼接
(1)字符串连接
两个或多个字符串通过加号”+“连接组成一个新字符串,这个操作称为字符串连接。
(2)字符串重复
一个字符串通过乘号“*”乘以一个数字,可以实现字符串,可以实现字符串重复。
在这里插入图片描述

字符串方法

len(str) 求出字符串str的长度
str.upper()将字符串str中所有的字符都变成大写,但str本身不变
str.lower()将字符串str中所有的字符都变成小写,但str本身不变
str.count(“某个字符”)计算str中某个字符的个数
str.capitalize()字符串中首字母大写其他字母小写
str.title()字符串中单词的首字母大写
str.strip()移除字符串中所有的空白字符
str.rstrip()移除字符串末尾的空白字符
在这里插入图片描述
int、float、eval和str函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出错的原因:
因为我们输入的数是一个字符串,而后面加的数是数字,数字加字符串会报错,可以把加的数变成字符串,或者下面这种方法
在这里插入图片描述
注释和行延续

(1)注释
在Python中,可以在行首加上“#”来注释一行(ctrl+1)

注:每一行注释前都要加“#”,即使是换行,前边也要有“#”

好处:帮助其他人理解文档,帮助自己理解文档,方便确定小结构块程序理解,使大程序阅读更容易

(2)行延续
一个长的语句可以通过在行尾(除了最后一行),使用反斜杠(\)分割成两个或者更多行显示。但是程序编译时仍然认为是一行。

例如

quotation="well written code is "

在这里插入图片描述

输入:input()

在Python中,通过控制台输入数据需要借助函数input(x)input函数中的参数x是提示语,返回值是输入的字符串。
例如:

num=input("Enter a number:")

输出:print()

在Python中,通过控制台输出数据需要借助函数print(value0,value1,value2,…)
(1) print的可选参数sep=分隔符
print(value0,value1,value2,…,sep=string)
如果不写sep,则默认分隔符是空格。

(2)可选参数end=行尾
print(value0,value1,…,end=string)
如果不写end,默认是换行符。

在这里插入图片描述
sep是同一次输出不同字符串之间的分隔符,如果只有一个字符串,则没有作用。

print("hello","world",sep="*", end="oh yeah!\n")

在这里插入图片描述

print("hello",sep="*", end="oh yeah!\n")

在这里插入图片描述
转义序列

转义序列是一个由斜线“\”引领的短序列,称其为转义是因为它代表的意思不是表面字符。
\t产生一个水平制表符
\n产生一个换行符
\产生一个斜线
‘产生一个单引号’
"产生一个双引号“
在这里插入图片描述
在这里插入图片描述
域内输入对齐

程序经常需要以固定的宽度一列一列显示输出
ljust(n):表示输出域宽为n,并且左对齐
rjust(n):表示输出域宽为n,并且右对齐
center(n):表示输出域宽为n,并且居中对齐
在这里插入图片描述
format格式化输出

在print函数的输出中,可以人为规定输出的格式,控制字符串,数值的显示形式。

在这里插入图片描述

在print函数的输出中,可以人为规定输出的格式,控制字符串、数值的显示形式。
(1)使用字母n表示任何类型数字,d表示整数型,f表示浮点数,s表示字符串,符号%表示数字以百分数显示。5是宽度,即5个位置左对齐
在这里插入图片描述
(2)逗号“,”表示千分位
在这里插入图片描述
(3)"<“表示左对齐,”^“表示居中对齐,”>“表示右对齐。
(4) 对于类型符f和%,前边的格式符是m.n.m表示总位宽,n表示四色五入小数点后几位,例如print(”{0:^10.2%}".format(12.3456))结果是1234.57%,四舍五入转换为百分数。
在这里插入图片描述

列表
列表是Python中最基本的数据结构。Python的核心对象是数值、字符串、列表、元组、文件、集合和字典。
列表是Python中的一个有序序列,其中的对象可以是任何类型,并不要求类型必须一致。

使用中括号将所有元素括起来,并且每个元素之前用逗号隔开。

在这里插入图片描述

list=[1,2,3,4,5,6];
list1=["abf",234,"hello"];
list2=["hello","world"];
print(list[0])
print(list[1:5])
list[2]=7
print(list)
list.append(8)
print(list)
del list[2]
print(list)
print(list.count(4))
print(list.index(4))
list.reverse()
list.append(9)
list.extend([3,4])
list.remove(9)
list.insert(0,19)
list.sort()
list.sort(reverse = True)
print(list)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

len(list) 列表中元素个数
max(list) 最大值(要求元素类型相同)
min(list) 最小值(要求元素类型相同)
sum(list) 求和(要求元素类型相同)
list.count(elem)对象出现次数
list.reverse()逆序
list.clear()清空列表
list.append()末端插入对象
list.extend(newList)末端插入新列表
del list[index]删除给定索引位置上的元素
list.remove(elem)删除第一次出现的对象
list.insert(ix,elem)在给定索引位置上插入新元素
list1+list2列表连接
list*列表重复
list(seq) 将元组转换为列表

list[m:n]表示下标从m到n-1的子序列
list[:]表示整个列表
list[m:]表示下标从m之后的所有元素组成的列表
list[:m]表示下标到m-1之前的元素组成的列表
在这里插入图片描述
split和join
(1)split方法(从字符串到列表)
split方法将一个字符串变成其子串组成的列表
在这里插入图片描述
(2)join方法(从列表到字符串)
join方法将一个字符串列表中所有子串元素,通过分隔符连接成一个字符串。
在这里插入图片描述
在这里插入图片描述

元组
Python元组与列表类似,是元素的有序序列。不同之处在于元组的元素不能修改,元组中的元素不可以被删除,但是元组中的元素可以被索引、切片和连接

元组使用小括号,列表使用方括号

在这里插入图片描述

arr=[2,1]
tup1=('a','b','c')
tup2=(1,2,3)
tup3="hello","world","!"
tup4=()
tup5=(50,)
tup6=tup1+tup2
tup6[0]
print(del(tup6))
print(len(tup1))
print(tup7=tup2 * 2)
print(2 in tup2)
print(max(tup1))
print(min(tup2))
print(tuple(arr))
#将数组转化为元组

列表和元组嵌套

(1)列表嵌套列表

在这里插入图片描述

(2)列表嵌套元组

在这里插入图片描述

(3)元组嵌套列表

在这里插入图片描述

(4)元组嵌套元组

在这里插入图片描述
在这里插入图片描述

可变对象和不可变对象
在这里插入图片描述文件

Python程序中的数据都存储在内存中,当程序员终止时就消失。然而,如果要长期保存数据,就需要将数据存储到硬盘中。
文件是数据在硬盘中存储的主要数据形式,文本文件后缀为.txt,二进制文件一般为.dat

打开文件的方式

infile = open("Data.txt",'r')#文本式读
list1=[line for line in infile]#列表解析读出行列表
bilfile=open("Data.txt","rb")#二进制读

infile.readline()#读取文件中单独一行,换行符\n
infile.readlines()#输出字符串的列表,列表中每个字符串就是文本中的一行

infile.close()
binfile.close()

outfile=open("Data.txt","w")
'w'标志位表示每次都重新写文件,如果要往文件后边续写,则要用“a”标志位
boutfile=open("Data.txt",'wb')#二进制写
boufile=open("Data.txt",'ab')#二进制续写

boufile=writelines(['a''b'])

outfile.close()
boutfile.close()

在这里插入图片描述
在这里插入图片描述
布尔类型数据

Python的布尔类型有两个值:True和False
在这里插入图片描述
if-else语句

在这里插入图片描述

while

当特定条件满足时,while循环重复执行一个缩进的语句块。
在这里插入图片描述
break语句
break语句是导致从循环体任意位置退出的语句。
当语句break在一个循环体中执行时,循环会马上终止。
break语句通常出现在if语句的语句块中。

while cond1:
     if cond2:
         break

continue语句
当语句continue在一个while循环体中执行时,当前循环体终止,程序跳转到循环的头部。continue语句通常出现在if语句里面。

while cond1:
    if cond2:
       continue

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41805715/article/details/100048610
今日推荐