文章目录
一、pycharm下载安装
pycharm下载地址:http://www.jetbrains.com/pycharm/download/#section=windows
下载详细步骤:
1-
2-
3-
4-
5-
6
7-
8-直接finish
二、python下载安装
9-python官网:
https://www.python.org/
进去网址后点击:
10
11-下载好后
12-添加环境变量
记得双击安装:
三、pycharm上配置python
13-双击桌面pycharm
随便取个名字(我取的学习),直接点击create.
遇到如下情况,则点击ok(没遇到就算了)
14-添加解释器
成功如下:
打印成功:标志配置完成
四、配置镜像源让你下载嗖嗖的快
在这里插入图片描述
我喜欢用清华的,所以我在这里介绍都用清华源,当然这里是一些比较好用的镜像源:
-
清华:
https:/
/pypi.tuna.tsinghua.edu.cn/simple
-
阿里云:
http:/
/mirrors.aliyun.com/pypi
/simple/
-
中国科技大学
https:/
/pypi.mirrors.ustc.edu.cn/simple
/
-
一共有三种镜像源配置,建议你每一种都跟我一起学会。
4.1)pycharm内部配置
第一步:
第二步:
第三步:
第四步:
复制上面的清华镜像源粘贴,然后okokokok
测试,遇到了这个问题:
pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
因为我忘记给pip加环境变量了,所以加一下,一次如下:
第五步:
退出pycharm,因为加了环境变量需要重启软件。我们先到cmd输入pip,如下就是配置成功了:
第六步:
重启软件后,随便装一个模块,如下:(你可以看到下载模块速度很快!)
4.2)手动添加镜像源
使用方法:
pip install 下载的模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple
比如我要下载numpy这个模块,执行以下命令:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
几秒就好了:
这个方法的好处就是,你不用像其它配置一样要去配置一遍,你只需要在后面加上:
-i https://pypi.tuna.tsinghua.edu.cn/simple
4.3)永久配置镜像源
这个配置我是建议你一定要添加配置。
方法一:
到cmd执行如下命令创建pip.ini:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
返回:
然后我们把这个路径添加到系统环境变量就好了(怎么添加环境变量?跟前面给pip添加环境变量一样操作,只是路径不一样)
方法二:
如果刚刚这个命令你执行失败,你可以自己在c盘任意找个位置创建一个文件名叫做pip文件夹,在这下面下创建一个文件名pip.ini,内容为:
-
[
global]
-
index-url =
https:
//pypi.tuna.tsinghua.edu.cn/simple
然后添加到环境变量。
五、插件安装(比如汉化?)
在这里插入图片描述
首先个人不建议汉化,最后我再演示汉化插件。我是想要推荐一些不错的插件。
首先进入如下界面:
5.1)自动补码神器第一款
推荐使用:TabNine,当然kite也不错,你可以都安装,我是都在用。我演示一款:
弹出这个页面删了不要管:
测试:已经开始有提示了
5.2 )自动补码神器第二款
(底部扫码也可以)到我公众号:川川菜鸟 发送:kite 即可领取kite软件,无脑安装配置就饿可以了。实在不会左侧加我再给你说。
直接跳转我这一篇文章,如果你效果跟我一样,那就是成功了:
Kite神器
5.2)汉化pycharm
首先,个人不建议汉化,不管你英语好不好,都要去适应这个英语界面,当然你实在需要汉化,这是教程:
在这里插入图片描述
现在就已经全部汉化:
在这里插入图片描述
5.3)其它插件
如果需要下载别的插件,你可以百度搜一下pycharm有哪些好的插件,都是安装上述方式安装。
六、美女背景
你是否想要如下桌面?
教程传送门:
美女桌面背景设置
七、自定义脚本开头
你是都在先每次创建一个文件,开头都是如下?
节约版面,跳转此文:
自定义脚本开头
八、即将开始写代码了!
拥有本篇文章,意味着你拥有一本最完善的书籍,讲得比书上全,语法也会比买的书上更详细,大家要慢慢看。拥有本篇文章,你将基础无敌,从此可以有能力自学一些高级教程。作者写了好几天,实在很累,希望你三连支持。
python,言简意赅就是:通俗易懂,功能强大无比,上手快,实用强。你跟着我在这里认真学完这一篇,你一定会学会最扎实的python基础,同时我还可以提供免费辅导,作者本是一名学生,并不图有任何好处。如果需要辅导,可以加从左侧栏加群,当然仅是交流,不会有时间一直教你,只能帮助你解决一些问题,更多要靠自己。
九、python入门
软件安装我就不介绍了,大家b站搜一下python和pycharm安装安装即可,个人是推荐python和pycharm结合使用,pycharm是什么?是python的编译器,如果我们没有编译器,写代码是很困难的,而且pycharm提供了许多插件和优美的界面,使得你写代码又快又舒服,不会因为在python的IDE上写得头疼。
当然!下载软件不用到官网下,你只需要到软件管家下载即可,我也是这个公众号的忠实粉丝了。
入门第一步:打印
print("Hello, World!")
当然,你想打印别的也可以,对吧?
print('川川帅哥,我爱你')
在这里插入图片描述
十、python缩进
最基本的语法,我不可能在这里把所有的语法都讲一遍,但是最基本语法要说一下。在这里,我们又不得不鸣谢pycharm编译器,实在帮助我们太多了。为什么这么说?pycharm中,它会自动帮助我们完成换行,缩进等问题,不会像IDE中写代码,要自己手动,如果忘记手动就回报错,因此我是不建议只用python解释器,一定要用pycharm!
举一些例子,当然,如果你是小白,现在只会打印,大可不必着急,你只需要看看,后面我会讲到。
比如缩进问题,缩进是指代码行开头的空格。if后面的语句需要tap一下(当然,如果你用pycharm编译器,会自动tap)。
例如:
-
if
6 >
2:
-
print(
"六大于二")
在这里插入图片描述
十一、Python注释
注释可用于解释 Python 代码。注释可用于使代码更具可读性。注释可用于在测试代码时阻止执行。
1)单行注释
将需要注释的部分开头用#
例如:
-
#川川真帅
-
print(
'川川帅哥,我爱你')
或者这样:
print("Hello, World!") #川川真帅
你可以看到如下,这就是注释意义了,懂了吧。
2)多行注释
第一种方法(不建议,太麻烦)
-
#川川真帅
-
#川川真帅
-
#川川真帅
-
print(
"Hello, World!")
你也可以左键选中我们需要注释的代码,松开,按:Ctrl+/,就完成相同效果注释。
第二种方法:
把要注释的内容放到三个引号对里面。,例如:
-
'''
-
川川真帅
-
川川真帅
-
'''
-
print(
'川川帅哥,我爱你')
取消注释
左键选中我们需要取消注释的代码,松开,按:Ctrl+/
十二、Python 变量
1)变量定义理解
在 Python 中,当你给它赋值时就会创建变量:Python 没有用于声明变量的命令。变量在您第一次为其赋值时创建。
例如:
-
x =
5
-
y =
"川川"
-
print(x)
-
print(y)
对于同一个变量,赋值类型不同则会发生类型的变化,例如:
-
x = 4
# x 现在是整形
-
x =
"川川"
# x 现在是字符串
-
print(x)
则打印为:
如果要指定变量的数据类型,可以通过强制转换来完成,比如:
-
x =
str(
3)
# x will be '3'
-
y =
int(
3)
# y will be 3
-
z =
float(
3)
# z will be 3.0
那么刚刚我说到了类型,小白肯定还不知道类型是什么,怎么查看,我们来说一下如何获取类型,这里我们要用到type函数,举个例子:
-
x =
5
-
y =
"川川"
-
print(
type(x))
-
print(
type(y))
看看返回什么:int为整形,str为字符串。这是你要背的。
可以使用单引号或双引号来声明字符串变量:
-
x1 =
"川川真棒"
-
x2 =
'川川真棒'
-
print(x1)
-
print(x2)
返回为:
变量名区分大小写:
-
a =
4
-
A =
"川川"
-
print(a)
-
print(A)
返回为:
在这里插入图片描述
2) 变量名命名
变量可以有一个简短的名称(如 x 和 y)或一个更具描述性的名称(age、carname、total_volume)。Python 变量的规则:
-
变量名必须以字母或下划线字符开头
-
变量名不能以数字开头
-
变量名称只能包含字母数字字符和下划线(Az、0-9 和 _ )
-
变量名区分大小写(age、Age和AGE是三个不同的变量)
例如:
-
myvar =
"川川"
-
my_var =
"川川"
"
-
_my_var = "川川
""
-
myVar =
"川川"
"
-
MYVAR = "川川
""
-
myvar2 =
"川川"
"
-
命名法则:
骆驼法则:除了第一个单词外,每个单词都以大写字母开头
myNameIs = "川川"
帕斯卡法则:每个单词都以大写字母开头
MyNameIs = "川川"
蛇形法则:每个单词由下划线字符分隔
My_Name_Is = "川川"
3) 分配多个值
多个变量的多个值。
Python 允许您在一行中为多个变量赋值:
-
x, y, z =
"川川一号",
"川川二号",
"川川三号"
-
print(x)
-
print(y)
-
print(z)
输出为:
注意:确保变量的数量与值的数量相匹配,否则你会得到一个错误。
多个变量的一个值
您可以在一行中为多个变量分配相同的值:
-
x = y = z =
"川川菜鸟"
-
print(x)
-
print(y)
-
print(z)
输出为:
打开一个集合
如果您在列表、元组等中有一组值。Python 允许您将值提取到变量中。这称为拆包。当然,在这里,你可能还不知道集合列表,元组是什么,没有关系,后面我会讲到。
-
fruits = [
"apple",
"banana",
"cherry"]
-
x, y, z = fruits
-
print(x)
-
print(y)
-
print(z)
4)输出变量
print语句通常用于输出变量。
为了组合文本和变量,Python 使用 +字符:
-
x =
"川川"
-
print(
"帅哥是" + x)
输出为:
您还可以使用该+字符将一个变量添加到另一个变量中:
-
x =
"川川真"
-
y =
"帅"
-
z = x + y
-
print(z)
返回一样:
对于数字,该+字符用作数学运算符:
-
x =
6
-
y =
10
-
print(x + y)
返回:
如果你尝试组合一个字符串和一个数字,Python 会给你一个错误,比如:
-
```c
-
x = 5
-
y =
"川川"
-
print(x + y)
该怎么修改呢?把数字转为字符即可,则修改为:
-
x =
5
-
y =
"川川"
-
print(
str(x) + y)
成功返回:
5)全局变量与局部变量,全局关键字
在函数外部创建的变量称为全局变量。都可以使用全局变量,无论是在函数内部还是外部。当然,在这里,你可能还不知道函数是什么,后面我会讲到,大可不必慌张。
-
x =
"川川"
-
def myfunc():
-
print(
"帅哥是 " + x)
-
myfunc()
返回为:
如果在函数内部创建同名变量,该变量将是局部变量,只能在函数内部使用。具有相同名称的全局变量将保持原样,全局且具有原始值。
-
x =
"awesome"
-
-
def
myfunc():
-
x =
"fantastic"
-
print(
"Python is " + x)
-
-
myfunc()
-
-
print(
"Python is " + x)
返回为:
全局关键字
通常,当您在函数内部创建变量时,该变量是局部的,并且只能在该函数内部使用。要在函数内创建全局变量,可以使用 global关键字。
-
x =
"帅哥"
-
-
def
myfunc():
-
global x
-
x =
"菜鸟"
-
-
myfunc()
-
-
print(
"川川" + x)
返回为:
6)练习题
-
创建一个名为的变量carname并为其赋值菜鸟。
-
创建一个名为的变量x并为其赋值60。
-
5 + 10使用两个变量x和y。显示,打印它们的总和
-
创建一个名为的变量z,x=8,y=9,分配x + y给它,并显示结果。
十三、Python数据类型
在这里插入图片描述
1)置数据类型
默认情况下,Python 具有以下内置数据类型,在这些类别中:
-
文本类型:
str
-
数字类型:
int,
float,
complex
-
序列类型:
list,
tuple,
range
-
映射类型:
dict
-
套装类型:
set,
frozenset
-
布尔类型:
bool
-
二进制类型:
bytes,
bytearray,
memoryview
此时你大可不必知道这些类型到底是什么,在后续的深入中,你一定会用得到,所以是需要记住的。
2)获取数据类型
您可使用以下type()函数获取任何对象的数据类型。
例如,打印变量 x 的数据类型:
-
x =
6
-
print(
type(x))
我们可以看到返回为:int类型
3)设置数据类型
在 Python 中,数据类型是在为变量赋值时设置的。
例如以下例子。
str字符串:
-
x =
"Hello World"
-
print(x)
-
print(
type(x))
int整形:
-
x1 =
6
-
print(
type(x1))
float浮点类型:
-
x2 =
6.5
-
print(
type(x2))
complex复数类型:
-
x3 =
2j
-
print(x3)
-
print(
type(x3))
list列表类型:
-
x4 = [
"apple",
"banana",
"cherry"]
-
print(x4)
-
print(
type(x4))
tuple元祖类型:
-
x5 = (
"apple",
"banana",
"cherry")
-
print(x5)
-
print(
type(x5))
后面还有其它一些类型,我就不以完整代码形式演示了,直接以例子形式让大家看看什么样子是什么类型,当然如果你能亲自动手像我上面的例子一样进行操作打印看一看就再好不过了。
range范围类型
x = range(6
dict字典类型
x = {"name" : "John", "age" : 36}
set集合类型:
x = {"apple", "banana", "cherry"}
不常用的冻结集类型:
x = frozenset({"apple", "banana", "cherry"})
bool布尔类型:
x = True
不常用byte字节类型:
x = b"Hello"
不常用bytearray字节数组类型:
x = bytearray(5)
更有冷门到爆的memoryview内存试图类型
x = memoryview(bytes(5))
4)设置特定数据类型
我会举一些例子说明,尽量很全,大可不必担心。先举一个完整例子,后面的是一样的打印就不演示了。
强调特定x为字符串:
-
x =
str(
"Hello World")
-
print(x)
-
print(
type(x))
返回为:
强调x为整形:
x = int(20)
强调x为浮点:
x = float(20.5)
强调x为复数:
x = complex(1j)
强调为列表
x = list(("apple", "banana", "cherry"))
强调为元祖
x = tuple(("apple", "banana", "cherry"))
强调为范围
x = range(6)
强调为字典
x = dict(name="John", age=36)
强调为集合
x = set(("apple", "banana", "cherry"))
强调冻结集(没啥用的类型)
x = frozenset(("apple", "banana", "cherry"))
强调布尔类型
x = bool(5)
强调字节类型
x = bytes(5)
强调字节组类型
x = bytearray(5)
强调内存试图类型(又是没啥用的类型)
x = memoryview(bytes(5))
6)练习题
回答下面的问题结果为什么类型?
1-
-
x =
5
-
print(
type(x))
2-
-
x =
"Hello World"
-
print(
type(x))
3-
-
x =
20.5
-
print(
type(x))
4-
-
x = [
"apple",
"banana",
"cherry"]
-
print(
type(x))
5-
-
x = (
"apple",
"banana",
"cherry")
-
print(
type(x))
6-
-
x = {
"name" :
"John",
"age" :
36}
-
print(
type(x))
7-
-
x =
True
-
print(
type(x))
十四、python数字
在这里插入图片描述
Python 共有三种数字类型:
-
int
-
float
-
complex
三种类型分别对应如下例子:
-
x =
1
# int
-
y =
2.8
# float
-
z =
1j
# complex
要验证 Python 中任何对象的类型,请使用以下type()函数:
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
因此你可以运行如下代码:
-
x =
1 # int
-
y =
2.8 # float
-
z = 1j # complex
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
1)整数
Int 或 integer,是一个整数,正负,不带小数,长度不限。
例如:
-
x =
1
-
y =
3562254887
-
z = -
35522
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
2)浮点数
浮点数或“浮点数”是包含一位或多位小数的正数或负数。
例如:
-
x =
1.10
-
y =
1.0
-
z = -
35.59
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
浮点数也可以是带有“e”的科学数字,表示 10 的幂。
例如:
-
x =
35e3
-
y =
12E4
-
z = -
87.7e100
-
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
3)虚数
复数写有“j”作为虚部。
-
x =
3+5j
-
y = 5j
-
z = -5j
-
-
print(
type(x))
-
print(
type(y))
-
print(
type(z))
4)类型转换
比如你可以从一种类型转变成另一种同int(), float()和complex()方法。
例如:(你可以亲自运行一下)
-
x =
1
# int
-
y =
2.8
# float
-
z =
1j
# complex
-
-
-
a =
float(x)
-
-
-
b =
int(y)
-
-
-
c =
complex(x)
-
-
print(a)
-
print(b)
-
print(c)
-
-
print(
type(a))
-
print(
type(b))
-
print(
type(c))
5)随机数
Python 有一个内置模块 random可以用来生成随机数。
示例:导入 random 模块,并显示 1 到 10之间的一个随机数:
-
import
random
-
print(
random.randrange(
1,
11))
6)练习题
1-插入正确的语法将 x 转换为浮点数。
x = 5 x = _(x)
2-插入正确的语法以将 x 转换为整数。
x = 5.5 x = _(x)
3-插入正确的语法以将 x 转换为复数。
x = 5 x = _(x)
十五、python指定变量类型
在这里插入图片描述
python 中的转换是使用构造函数完成的:
-
int() - 从整数文字、浮点文字(通过删除所有小数)或字符串文字(提供字符串表示整数)构造整数
-
float() - 从整数文字、浮点文字或字符串文字构造浮点数(提供字符串表示浮点数或整数)
-
str() - 从多种数据类型构造一个字符串,包括字符串、整数文字和浮点文字
我将每一个类型都举例子说明。
整数
-
x =
int(
1)
# x will be 1
-
y =
int(
2.8)
# y will be 2
-
z =
int(
"3")
# z will be 3
浮点
-
x2 =
float(
1)
# x will be 1.0
-
y2 =
float(
2.8)
# y will be 2.8
-
z2 =
float(
"3")
# z will be 3.0
-
w2 =
float(
"4.2")
# w will be 4.2
字符串
-
x1 =
str(
"s1")
# x will be 's1'
-
y1 =
str(
2)
# y will be '2'
-
z1 =
str(
3.0)
# z will be '3.0'
十六、Python字符串
一、字符串基本使用
1)字符串理解
python 中的字符串被单引号或双引号包围。'hello’与"hello"相同。您可以使用以下print()函数显示字符串文字:
-
print(
"Hello")
-
print(
'Hello')
2)将字符串分配给变量
-
a =
"川川"
-
print(a)
3)多行字符串
您可以使用三个引号将多行字符串分配给变量:
-
a =
"""从前有座山,
-
山里有座庙
-
庙里有个小和尚"""
-
print(a)
返回如下:
或三个单引号:
-
a =
'''从前有座山,
-
山里有座庙
-
庙里有个小和尚'''
-
print(a)
4)字符串是数组
Python 没有字符数据类型,单个字符只是一个长度为 1 的字符串。方括号可用于访问字符串的元素。这里用到了切片,你可以不懂。
获取位置 1 处的字符(记住第一个字符的位置为 0):
-
a =
"Hello, World!"
-
print(a[
1])
5)遍历字符串
循环遍历单词“chuanchuan”中的字母:
-
for x in
"chuanchuan":
-
print(x)
6)字符串长度
len()函数返回字符串的长度,注意标点符号和空格也算一个长度:
-
a =
"Hello, World!"
-
print(
len(a))
7)检查字符串
要检查字符串中是否存在某个短语或字符,我们可以使用关键字 in。
-
txt =
"The best things in life are free!"
-
print(
"free" in txt)
返回布尔类型(True代表有):
也可以通过if来判断是否存在:
-
txt =
"The best things in life are free!"
-
if
"free" in txt:
-
print(
"是的, 'free'存在.")
8)检查如果不是
检查以下文本中是否不存在“川川”:
-
txt =
"川川就读上海交大!"
-
print(
"川川" not in txt)
因为存在,返回false:
仅在不存在“川川”时才打印:
-
txt =
"川川就读上海交大!"
-
if
"川川" not in txt:
-
print(
"No, '川川' 不在文档.")
因为不符合条件,所以不会打印。
二、切片字符串
1)切片
您可以使用切片语法返回一系列字符。指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。
示例:获取从位置 2 到位置 5 的字符(不包括在内):
-
b =
"Hello, World!"
-
print(b[
2:
5])
返回为:
注意:第一个字符的索引为 0。
2)从头开始切片
示例:获取从开始到位置 5 的字符(不包括在内):
-
b =
"Hello, World!"
-
print(b[:
5])
返回为:
3)切到最后
通过省略结束索引,范围将到最后。
例如,获取从位置 2 到最后的字符:
-
b =
"Hello, World!"
-
print(b[
2:])
返回:
4)负索引
使用负索引从字符串末尾开始切片,就是从右往左看,不再是从左往右看。
例如:
-
b =
"Hello, World!"
-
print(b[
-5:
-2])
返回为:
三、修改字符串
在这里插入图片描述
1)小写转大写
upper()方法以大写形式返回字符串:
-
a =
"Hello, World!"
-
print(a.
upper())
返回为:
2)大写转小写
lower()方法以小写形式返回字符串:
-
a =
"Hello, World!"
-
print(a.
lower())
返回为:
3)删除空格
空白是实际文本之前和/或之后的空间,通常您想删除这个空间。
strip()方法从开头或结尾删除任何空格:
-
a =
" Hello, World! "
-
print(a.strip())
返回为:
4)替换字符串
replace()方法用另一个字符串替换一个字符串.
-
a =
"Hello, World!"
-
pr
int(a.
replace(
"H",
"J"))
返回为:
5)拆分字符串
split()方法返回一个列表,其中指定分隔符之间的文本成为列表项。split()如果找到分隔符的实例,该方法会将字符串拆分为子字符串。
例如我要将下面的字符串以逗号分隔:
-
a =
"Hello, World!"
-
pr
int(a.
split(
","))
返回为:
四、字符串连接
要连接或组合两个字符串,您可以使用 + 运算符。
例如,将变量a与变量b, 合并到变量中c:
-
a =
"Hello"
-
b =
"World"
-
c = a + b
-
print(c)
返回为:
例如要在a和b变量之间添加空格,请添加" ":
-
a =
"Hello"
-
b =
"World"
-
c = a +
" " + b
-
print(c)
返回为:
五、格式化字符串
1)format单个传参
我们不能像这样组合字符串和数字:
-
#会报错
-
age = 20
-
txt =
" 川川今年 " + age
-
print(txt)
但是我们可以通过使用format() 方法来组合字符串和数字!format()方法接受传递的参数,格式化它们,并将它们放在占位符所在的字符串中 {}。
例如,使用format()方法将数字插入字符串:
-
age =
20
-
txt =
"川川今年 {}"
-
print(txt.
format(age))
返回为:
2)format多个个传参
format() 方法接受无限数量的参数,并放置在各自的占位符中:
-
quantity =
20
-
itemno =
3000
-
price =
49.95
-
myorder =
"川川今年 {}岁 买了个华为手机 {} 每个月花费 {} 元."
-
print(myorder.
format(quantity, itemno, price))
返回为:
您可以使用索引号{0}来确保参数放置在正确的占位符中:
-
quantity =
20
-
itemno =
3000
-
price =
49.95
-
myorder =
"川川今年 {2}岁 买了个华为手机 {0} 每个月花费 {1} 元."
-
print(myorder.
format(quantity, itemno, price))
这样就会导致数字传的顺序发生了变化,看看结果就明白了:
六、字符串的其它处理方法总结
-
capitalize() 将第一个字符转换为大写
-
casefold() 将字符串转换为小写
-
center() 返回一个居中的字符串
-
count() 返回指定值在字符串中出现的次数
-
encode() 返回字符串的编码版本
-
endswith() 如果字符串以指定的值结尾,则返回 true
-
join() 将可迭代的元素连接到字符串的末尾
-
find() 在字符串中搜索指定值并返回找到它的位置
-
format() 初始化字符串中的指定值
10.index() 在字符串中搜索指定值并返回找到它的位置
当然还有很多,个人感觉不是很常用,就不继续总结别的了。
七、练习题
1-使用 len 方法打印字符串的长度。
-
x =
"Hello World"
-
print( )
2-获取字符串 txt 的第一个字符。
-
txt =
"Hello World"
-
x =
3.获取从索引 2 到索引 4 (llo) 的字符。
-
txt =
"Hello World"
-
x =
4.返回开头或结尾没有任何空格的字符串。
-
txt =
" Hello World "
-
x =
提示 使用strip()
5-将 txt 的值转换为大写。
-
txt =
"Hello World"
-
txt =
6-将 txt 的值转换为小写。
-
txt =
"Hello World"
-
txt =
7-用 J 替换字符 H。
-
txt =
"Hello World"
-
txt = txt.
8-插入正确的语法以添加年龄参数的占位符。
-
age =
36
-
txt =
"My name is John, and I am "
-
print(txt.
format(age))
提示:{}
十七、Python布尔值
在这里插入图片描述
布尔值表示两个值之一: True或False。在编程中,您经常需要知道表达式是否为 True或False。举一些例子就明白了。
1)比较
当您比较两个值时,将计算表达式并且 Python 返回布尔值答案:
-
print(
10 >
9)
-
print(
10 ==
9)
-
print(
10 <
9)
返回为:
在 if 语句中运行条件时,Python 返回 True or False:
-
a =
100
-
b =
30
-
-
if b > a:
-
print(
"b大于a")
-
else:
-
print(
"b不大于a")
返回为:
2)评估值和变量
bool()函数允许您评估任何值,并给您 True或False 作为返回。
例如:评估一个字符串和一个数字
-
print(
bool(
"川川"))
-
print(
bool(
20))
返回为:
评估两个变量:
-
x =
"川川"
-
y =
15
-
-
print(
bool(x))
-
print(
bool(y))
返回为:
3)布尔真值
True如果它具有某种内容,几乎任何值都会被评估。任何字符串都是True,空字符串除外。任何数字都是True,除了 0。任何列表、元组、集合和字典都是True,空的除外。
例如以下都会返回True:
-
bool(
"abc")
-
bool(
123)
-
bool([
"apple",
"cherry",
"banana"])
4)布尔假值
实际上,False除了空值(例如()、 []、{}、 “”、 数字 0和 值 )之外,计算为 的值 None。当然,结果为 False。
-
bool(
False)
-
bool(
None)
-
bool(
0)
-
bool(
"")
-
bool(())
-
bool([])
-
bool({})
返回为:
5)函数可以返回布尔值
-
def
myFunction() :
-
return
True
-
-
print(myFunction())
返回为:
打印“YES!” 如果函数返回 True,否则打印“NO!”:
-
def
myFunction() :
-
return
True
-
-
if myFunction():
-
print(
"YES!")
-
else:
-
print(
"NO!")
Python 也有许多返回布尔值的内置函数,如 isinstance() 函数,可用于确定对象是否属于某种数据类型
例如:检查对象是否为整数
-
x =
200
-
print(
isinstance(x,
int))
返回为
6)练习题
1.回答下面的语句返回值True还是False:
print(10 > 9)
2.回答下面的语句返回值True还是False:print(10 == 9)
3.回答下面的语句返回值True还是False:
print(10 < 9)
4.回答下面的语句返回值True还是False:
print(bool("abc"))
5.回答下面的语句返回值True还是False:
print(bool(0))
十八、python运算符
在这里插入图片描述
1)算术运算符
自己赋值粘贴运行下就懂了!
加减法:(+ -)
-
a
=
2
-
b
=
3
-
c
=a
-b
-
d
=a
-b
-
print
(
c
,d
)
乘除法:(* /)
-
a=(
50
-5*
6)/
4
-
print(a)
-
-
a=
8/
5
-
print(a)
取余数(同时与除法比较)
-
'''/返回为float,//返回整数,%返回余数'''
-
a=
17/
3
-
print(a)
-
-
-
a=
17//
3
-
print(a)
-
-
a=
5*
3+
2
-
print(a)
幂运算 (**’)
-
'''幂运算 **'''
-
# a=4**2
-
# b=2**3
-
# print(a,b)
2)赋值运算符
等于(=)
-
x =
5
-
print(x)
加等于( +=)等效: x = x +
-
x =
5
-
x +=
3
-
print(x)
减等于(-=) 等效:x=x-
-
x =
5
-
x -=
3
-
print(x)
类似的我们可以得到以下不同的方式等效:
x *= 3 等效 x = x * 3
x /= 3等效 x = x / 3
x %= 3 等效 x = x % 3
x //= 3 等效 x = x // 3
x **= 3 等效 x = x ** 3
x &= 3 等效 x = x & 3
x |= 3 等效 x = x | 3
x ^= 3 等效 x = x ^ 3
x >>= 3 等效x = x >> 3
-
x <<= 3 等效x = x <<
3
-
在这里插入图片描述
十九、Python列表
一、列表基本知识
基本形式为:
mylist = ["川川一号", "川川二号", "川川三号"]
1)创建列表
列表是使用方括号创建的:
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist)
返回:
创建新列表时也可以使用 list() 构造函数。
-
thislist = list((
"apple",
"banana",
"cherry"))
-
print(thislist)
允许重复
由于列表已编入索引,因此列表可以包含具有相同值的项目:
-
thislist = [
"川川一号",
"川川二号",
"川川三号",
"川川一号"]
-
print(thislist)
2.列出表值
列表项是有序的、可变的,并允许重复值。列表项被索引,第一项有索引[0],第二项有索引[1]等等。
单个索引
例如我要索取川川一号:
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist)
-
print(mylist[
0])
返回:
遍历列表
-
for
i in mylist:
-
print(i)
返回为:
3.列表长度
确定列表有多少项,请使用以下 len()函数:
-
thislist = [
"川川一号",
"川川二号",
"川川三号",
"川川一号"]
-
print(
len(thislist))
返回:
4.列表项 - 数据类型
列表项可以是任何数据类型。例如:
-
list1 = [
"apple",
"banana",
"cherry"]
-
list2 = [
1,
5,
7,
9,
3]
-
list3 = [
True,
False,
False]
-
-
print(list1)
-
print(list2)
-
print(list3)
5.Python 集合(数组)
-
List列表是一个有序且可变的集合。允许重复成员。
-
turple元组是一个有序且不可更改的集合。允许重复成员。
-
Set集合是一个无序且无索引的集合。没有重复的成员。
-
dict字典是一个有序*且可变的集合。没有重复的成员。
!!!从 Python 3.7 版开始,字典才是有序的!!!
二.访问列表
1.正常索引
列表项已编入索引,您可以通过引用索引号来访问它们:
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist[
0])
注意:第一项的索引为 0。
2)负索引
负索引意味着从头开始,-1指最后一项, -2指倒数第二项等。
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist[
-1])
3)索引范围
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist[
1:
3])
4)负指数范围
-
mylist = [
"川川一号",
"川川二号",
"川川三号"]
-
print(mylist[
-3:
-1])
5)检查是否存在
要确定列表中是否存在指定的项目,请使用in关键字。
例如,检查列表中是否存在“apple”:
-
thislist = [
"apple",
"banana",
"cherry"]
-
if
"apple" in thislist:
-
print(
"Yes, 'apple' is in the fruits list")
三、更改列表
1)单个更改
要更改特定位置的值,需要通过索引号:
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist[
0]=
"川川五号"
-
print(mylist[
0])
修改成功:
2)多个更改
索引号需要用范围表示。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号",
"川川五号"]
-
mylist[
1:
3]=[
"哈皮川川",
"憨批川川"]
-
print(mylist)
修改成功:
3)插入列表
insert()方法在指定的索引处插入一个项目。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.
insert(
2,
'帅哥呀')
-
print(mylist)
插入成功:
四、添加列表
1)末尾添加
要将值添加到列表的末尾,请使用append() 方法:
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.
append(
"憨批川川")
-
print(mylist)
添加成功:
2)指定位置添加
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.
insert(
2,
'川川菜鸟')
-
print(mylist)
添加成功:
3)合并列表
要将另一个列表中的元素附加到当前列表,请使用extend()方法。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist1 = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.extend(mylist1)
-
print(mylist)
合并成功:
extend()方法不一定要 列表,您也可以添加任何可迭代对象(元组、集合、字典等)。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist2=(
"川川",
"菜鸟")
-
mylist.extend(mylist2)
-
print(mylist)
添加成功:
五、删除列表
在这里插入图片描述
1)删除指定目标
remove()方法删除指定的项目。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.
remove(
'川川二号')
-
print(mylist)
删除成功:
2)删除指定索引
pop()方法删除指定的索引。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.pop(
2)
-
print(mylist)
删除成功:
如果不指定索引,该pop()方法将删除最后一项。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.pop()
-
print(mylist)
删除成功:
3)del删除指定的索引
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
del mylist[
0]
-
print(mylist)
删除成功:
该del关键字也可以完全删除列表。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
del mylist
4)清除列表
clear()方法清空列表。该列表仍然存在,但没有内容。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.clear()
-
print(mylist)
清空:
坚持!!!
六、循环列表
1)for循环遍历
方法一:
循环遍历列表您可以使用循环遍历列表项for 。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
for i in mylist:
-
print(i)
遍历成功:
方法二:遍历索引号
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
for i in
range(
len(mylist)):
-
print(mylist[i])
返回:
2)while循环遍历
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
i =
0
-
while i <
len(mylist):
-
pr
int(mylist[i])
-
i = i +
1
返回:
七、列表推导式
例如:根据fruits列表,您需要一个新列表,其中仅包含名称中带有字母“a”的fruits。
如果没有列表理解,您将不得不编写一个for带有条件测试的语句:
-
fruits = [
"apple",
"banana",
"cherry",
"kiwi",
"mango"]
-
newlist = []
-
-
for x in fruits:
-
if
"a" in x:
-
newlist.
append(x)
-
-
print(newlist)
返回为:
使用列表推导式,你只需要一行代码即可!
-
fruits = [
"apple",
"banana",
"cherry",
"kiwi",
"mango"]
-
-
newlist = [x
for x in fruits
if
"a" in x]
-
-
print(newlist)
返回一样:
换一个例子,只接受小于 5 的数字:
-
newlist = [x
for x in
range(
10)
if x <
5]
-
print(newlist)
返回“orange”而不是“banana”:(这个不是很好理解,多想想)
-
fruits = [
"apple",
"banana",
"cherry",
"kiwi",
"mango"]
-
newlist = [x
if x !=
"banana"
else
"orange"
for x in fruits]
-
print(newlist)
返回为:
八、列表排序
1)区分大小写的排序
默认情况下,该sort()方法区分大小写,导致所有大写字母都排在小写字母之前:
-
thislist = [
"banana",
"Orange",
"Kiwi",
"cherry"]
-
thislist.
sort()
-
print(thislist)
返回:
2)不区分大小写的排序
如果你想要一个不区分大小写的排序函数,使用 str.lower 作为键函数:
-
thislist = [
"banana",
"Orange",
"Kiwi",
"cherry"]
-
thislist.
sort(key = str.
lower)
-
print(thislist)
返回:
3)倒序
reverse()方法反转元素的当前排序顺序。
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
mylist.
reverse()
-
print(mylist)
返回为:
九、复制列表
copy()方法制作列表的副本:
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
my = mylist.copy()
-
print(
my)
返回:
list()方法制作列表的副本:
-
mylist = [
"川川一号",
"川川二号",
"川川三号",
"川川四号"]
-
my = list(mylist)
-
print(
my)
返回为:
十、加入列表
最简单的方法之一是使用+ 运算符。
-
list1 = [
"a",
"b",
"c"]
-
list2 = [
1,
2,
3]
-
list3 = list1 + list2
-
print(list3)
返回:
稍微有意思点,连接两个列表的另一种方法是将 list2 中的所有项一个一个地附加到 list1 中:
-
list1 = [
"a",
"b" ,
"c"]
-
list2 = [
1,
2,
3]
-
-
for x in list2:
-
list1.
append(x)
-
-
print(list1)
返回:
extend() 方法,其目的是将元素从一个列表添加到另一个列表:
-
list1 = [
"a",
"b" ,
"c"]
-
list2 = [
1,
2,
3]
-
-
list1.extend(list2)
-
print(list1)
返回:
十一、列表所有操作总结
如果你英文好可以看看,当然,这些所有操作我都讲过一遍了。
十二、练习
1-打印fruits列表中的第二项。
-
fruits = [
"apple",
"banana",
"cherry"]
-
print( )
2-将fruits列表中的值从“apple”改为“kiwi”。
-
fruits = [
"apple",
"banana",
"cherry"]
-
=
3-使用 append 方法将“orange”添加到fruits列表中。
-
fruits = [
"apple",
"banana",
"cherry"]
-
4-使用插入方法将“柠檬”添加为fruits列表中的第二项。
-
fruits = [
"apple",
"banana",
"cherry"]
-
=
"lemon")
5-使用 remove 方法从fruits列表中删除“banana”。
-
fruits = [
"apple",
"banana",
"cherry"]
-
6-使用负索引打印列表中的最后一项。