python3基础

Posted Pam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3基础相关的知识,希望对你有一定的参考价值。

print()函数

支持自动换行:

不自动换行:使用   end=“”

print格式化输出

    字符串格式化符号:

• %c 格式化字符及其ASCII码
%s 格式化字符串
• %d 格式化整数
• %u 格式化无符号整型
• %o 格式化无符号八进制数
• %x 格式化无符号十六进制数
• %X 格式化无符号十六进制数(大写)
• %f 格式化浮点数字,可指定小数点后的精度
• %e 用科学计数法格式化浮点数
• %E 作用同%e,用科学计数法格式化浮点数
• %g %f 和 %e 的简写
• %G %f 和 %E 的简写

    格式化操作符辅助指令:

• m.n. m 是显示的最小总宽度(如果指定的话),n 是小数点后的位数(如果指定
的话)
• *定义宽度或者小数点精度
• -用做左对齐
• +在正数前面显示加号 +
• 在正数前面显示空格#
• 在八进制数前面显示零(\'0\')
• 在十六进制前面显示\'0x\'或者\'0X\'(取决于用的是\'x\'还是\'X\')
• \'%%\'输出一个单一的\'%\'
• (var)映射变量(字典参数)

格式化输出:

如果想通过变量来填充格式控制字符串,那么可以使用运算符(%) 和一个元组, 在目标字符串中从左至右使用%:

使用字典来填充:

  

变量与基本数据类型

变量使用之前一定要赋值,不需要加数据类型:

标识符

由数字,下划线,字母组成,不能以数字开头,区分大小写,支持中文符号:

保留字

数字数据类型

int 整型:0b、0o、0x分别表示二进制,八进制,十六进制,输出都是十进制表示,多条语句放在一行,可以用分号隔开:

支持非常长的整数:

float 浮点型:支持科学技术法

支持复数类型:a+bj  或者 complex(a,b)表示:

布尔类型:True  False

注释

单行注释:#

多行注释:\'\'\' 或者"""

运算符

算术运算

比较运算

赋值运算

 逻辑运算

字符串 

表示形式

可以用单引号或者双引号表示:

转义字符:

多行字符串可以通过三个连续的单引号(”’)或是双引号(“””)来进行标示:

字符串链接:

数字与字符串的区别:

查找 

find

语法:

注:

开始和结束位置下标可以省略,表示在整个字符串序列中查找

rfind  :和find的功能相同,但查找方式为右侧开始

index

语法:

注:

开始和结束位置下标可以省略,表示在整个字符串序列中查找 

rindex:和index功能相同,但查找方向为右侧开始

count

返回某个子串在字符串中出现的次数 

"""
src = hello world and linux and python and java
find 和 rfind:
12
12
-1
33
12
-1
index 和 rindex:
12
12
33
12
count:
3
1
0
"""
src = \'hello world and linux and python and java\'

print(f\'src = {src}\')
# index查找子串时,若没有找到,返回-1
print(\'find 和 rfind:\')
print(src.find(\'and\'))
print(src.find(\'and\',5,20))
print(src.find(\'ands\'))
print(src.rfind(\'and\'))
print(src.rfind(\'and\',5,20))
print(src.rfind(\'ands\'))


print(\'index 和 rindex:\')
# index查找子串时,若没有找到,则报错
print(src.index(\'and\'))
print(src.index(\'and\',5,20))
print(src.rindex(\'and\'))
print(src.rindex(\'and\',5,20))

print(\'count:\')
# index查找子串时,若没有找到,返回0
print(src.count(\'and\'))
print(src.count(\'and\',5,20))
print(src.count(\'ands\'))

修改

replace

语法:

"""
replace:
hello world + linux + python + java
hello world + linux + python and java
hello world + linux + python + java
"""
src = \'hello world and linux and python and java\'

print(f\'src = {src}\')
# replace返回修改后的字符串
print(\'replace:\')
new_src = src.replace(\'and\',\'+\')
print(new_src)
new_src = src.replace(\'and\',\'+\',2)
print(new_src)
new_src = src.replace(\'and\',\'+\',10)
print(new_src)

split

语法:

"""
split:
[\'hello world \', \' linux \', \' python \', \' java\']
[\'hello world \', \' linux \', \' python and java\']
"""
src = \'hello world and linux and python and java\'

# split返回的是一个列表,num表示的是分割字符出现的次数,则返回数据个数为num+1
print(\'split:\')
new_src = src.split(\'and\')
print(new_src)
new_src = src.split(\'and\',2)
print(new_src)

join

语法:

"""
join:
hello$$$$world$$$$and$$$$linux$$$$and$$$$python$$$$and$$$$java
"""
src = [\'hello\',\'world\',\'and\',\'linux\',\'and\',\'python\',\'and\',\'java\']

# split返回的是一个列表,num表示的是分割字符出现的次数,则返回数据个数为num+1
print(\'join:\')
new_src = \'$$$$\'.join(src)
print(new_src)

capitalize

"""
capitalize:
Hello world and linux and python and java
"""
src = \'hello world and Linux and Python and Java\'

# capitalize 函数转换后,只字符串第一个字符大写,其他的全部小写
print(\'capitalize:\')
new_src = src.capitalize()
print(new_src)

title

"""
title:
Hello World And Linux And Python And Java
"""
src = \'hello world and Linux and Python and Java\'

# title 将字符串的每个单词首字母转换成大写
print(\'title:\')
new_src = src.title()
print(new_src)

lower

"""
lower:
hello world and linux and python and java
"""
src = \'hello world and Linux and Python and Java\'

# lower 将字符串中大写转换成小写
print(\'lower:\')
new_src = src.lower()
print(new_src)

upper

"""
upper:
HELLO WORLD AND LINUX AND PYTHON AND JAVA
"""
src = \'hello world and Linux and Python and Java\'

# upper 将字符串中大写转换成小写
print(\'upper:\')
new_src = src.upper()
print(new_src)

lstrip

删除字符左侧空白字符

"""
  hello world and Linux and Python and Java   
hello world and Linux and Python and Java 
"""
src = \'  hello world and Linux and Python and Java   \'

print(src)
new_src = src.lstrip()
print(new_src)

rstrip

删除字符右侧空白字符

"""
  hello world and Linux and Python and Java   
  hello world and Linux and Python and Java
"""
src = \'  hello world and Linux and Python and Java   \'

print(src)
new_src = src.rstrip()
print(new_src) 

strip

删除字符两侧空白字符 

"""
  hello world and Linux and Python and Java   
hello world and Linux and Python and Java
"""
src = \'  hello world and Linux and Python and Java   \'

print(src)
new_src = src.strip()
print(new_src)

ljust

返回一个字符串左对齐,并使用指定的字符(默认空格)填充至对应长度的新字符串

语法:

src = \'hello\'
src.ljust(10,\'.\')
\'hello.....\'
src.ljust(10,\'*\')
\'hello*****\'
src.ljust(10)
\'hello

rjust

返回一个字符串右对齐,并使用指定的字符(默认空格)填充至对应长度的新字符串

src = \'hello world\'
src.rjust(15)
\'    hello world\'
src.rjust(15,\'#\')
\'####hello world\'

center

返回一个字符串居中对齐,并使用指定的字符(默认空格)填充至对应长度的新字符串

src = \'hello world\'
src.center(15,\'#\')
\'##hello world##\'
src.center(15)
\'  hello world  \'
src.center(16,\'#\')
\'##hello world###\' 

判断

startswith

检测字符串是否以指定字串开头,是则返回true,否则返回false,若设置开始和结束位置下标,则在指定范围内检查

语法:

"""
hello world and Linux and Python and Java
True
False
"""
src = \'hello world and Linux and Python and Java\'

print(src)
new_src = src.startswith(\'hello\')
print(new_src)
new_src = src.startswith(\'hello\',5,20)
print(new_src)

endswith

检测字符串是否以指定字串结束,是则返回true,否则返回false,若设置开始和结束位置下标,则在指定范围内检查 

"""
hello world and Linux and Python and Java
True
False
"""
src = \'hello world and Linux and Python and Java\'

print(src)
new_src = src.endswith(\'Java\')
print(new_src)
new_src = src.endswith(\'Java\',5,15)
print(new_src)

isalpha

如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false

"""
helloworld
hello110
True
False
"""
src1 = \'helloworld\'
src2 = \'hello110\'

print(src1)
print(src2)
print(src1.isalpha())
print(src2.isalpha())

isdigit

如果字符串中只包含数字则返回true,否则返回false

"""
110
hello110
True
False
"""
src1 = \'110\'
src2 = \'hello110\'

print(src1)
print(src2)
print(src1.isdigit())
print(src2.isdigit())

isalnum

若字符串至少有一个字符并且所有字符都是字母或数字则返回true,否则返回false

"""
110**
hello110
False
True
"""
src1 = \'110**\'
src2 = \'hello110\'

print(src1)
print(src2)
print(src1.isalnum())
print(src2.isalnum())

isspace

若字符串质保函空白,则返回true,否则返回false

"""  
hello110
True
False
"""
src1 = \'   \'
src2 = \'hello110\'

print(src1)
print(src2)
print(src1.isspace())
print(src2.isspace())

下标

类似数组下标

"""
helloworld
src[1]=e
"""
src = \'helloworld\'

print(src)
print(f\'src[1]={src[1]}\')

切片

对操作的对象截取其中一部分的操作,对面是:字符串、列表、元组

语法:

注意:

1、不包括结束位置下标对应的数据,正负数均可

2、步长是选取间隔,正负整数均可,默认步长为1

# 序列号【开始位置下标:结果位置的下标:步长】
"""
345
345
123
456789
543
97
"""
str = \'123456789\'

print(str[2:5:1])
print(str[2:5])   # 默认步长为1

print(str[:3])
print(str[3:])

# 下标为-1表示最后一个数据、步长为负数,表示倒叙选取
print(str[4:1:-1])
print(str[-1:-4:-2])

列表

列表基础介绍

列表中元素的类型可以不相同数据可修改,它支持数字,字符串甚至可以包含列表:

列表元素访问:

切片截取:

切片步长:

嵌套访问字符串:

查找

下标

"""
world
"""
src1 = [\'hello\',\'world\',\'python\']

print(src1[1])

index

返回指定数据所在位置的下标

语法:

"""
1
1
"""
src1 = [\'hello\',\'world\',\'python\']

# 若查找不到,则报错
print(src1.index(\'world\'))
print(src1.index(\'world\',1,15))

count

统计指定数据在列表中出现的次数

"""
1
"""
src1 = [\'hello\',\'world\',\'python\']

# 若查找不到,则返回0
print(src1.count(\'world\')) 

len

求列表中数据的个数

"""
3
"""
src1 = [\'hello\',\'world\',\'python\']

# 若为空,则返回0
print(len(src1)) 

in

判断指定数据在列表中是否存在,若存在返回true,否则返回flase

not in

判断指定数据在列表中是否存在,若不存在返回true,否则返回flase

"""
True
False
False
True
"""
src1 = [\'hello\',\'world\',\'python\']

print(\'hello\' in src1)
print(\'sh\' in src1)

print(\'hello\' not in src1)
print(\'sh\' not in src1)

案例:

src1 = [\'Tom\',\'Jam\',\'Pam\']

name = input(\'请输入你要搜索的名字:\')

if name in src1:
    print(f\'你输出的名字是:{name},已经存在\')
else:
    print(f\'您输出的名字是{name},名字不存在\')

增加

append

列表追加数据,若追加的是一个序列,则追加整个序列到列表中

语法:

"""
[\'Tom\', \'Jam\', \'Pam\', \'KK\']
[\'Tom\', \'Jam\', \'Pam\', \'KK\', [\'YY\', \'GG\']]
"""
src1 = [\'Tom\',\'Jam\',\'Pam\']

src1.append(\'KK\')
print(src1)
src1.append([\'YY\',\'GG\'])
print(src1)

extend

列表追加数据,若追加的是一个序列,则追加整个序列的数据到列表中

"""
[\'Tom\', \'Jam\', \'Pam\', \'K\', \'K\']
[\'Tom\', \'Jam\', \'Pam\', \'K\', \'K\', \'YY\', \'GG\']
"""
src1 = [\'Tom\',\'Jam\',\'Pam\']

src1.extend(\'KK\')
print(src1)
src1.extend([\'YY\',\'GG\'])
print(src1)

insert

指定位置新增数据

语法:

"""
[\'Tom\', \'Jam\', \'KK\', \'Pam\']
"""
src1 = [\'Tom\',\'Jam\',\'Pam\']

src1.insert(2,\'KK\')
print(src1)

删除 

del

删除整个列表

语法:

"""
[\'Tom\', \'Jam\']
报错
"""
src1 = [\'Tom\',\'Jam\',\'Pam\']
del src1[2]
print(src1)
del src1
print(src1)

pop

删除指定下标的数据,若不指定,默认删除最后一个数据。然后返回被删除的数据

"""
Pam
[\'Tom\', \'Jam\']
Jam
[\'Tom\']
"""
src1 = [\'Tom\',\'Jam\',\'Pam\']

new_src1 = src1.pop()
print(new_src1)
print(src1)
new_src1 = src1.pop(1)
print(new_src1)
print(src1)

remove

删除列表某个数据的第一个匹配项

语法:

"""
[\'Tom\', \'Pam\', \'Jam\']
"""
src1 = [\'Tom\',\'Jam\',\'Pam\',\'Jam\']

src1.remove("Jam")
print(src1)

clear

清空列表

"""
[]
"""
src1 = [\'Tom\',\'Jam\',\'Pam\',\'Jam\']

src1.clear()
print(src1)

修改

以上是关于python3基础的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

python常用代码片段总结

[vscode]--HTML代码片段(基础版,reactvuejquery)

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

python基础-函数--python3