Python语言

一、首先认识python

人生苦短,我用python ----- life is short ,you need python
在这里插入图片描述
python的哲学: 明确,优雅,简单
kiss keep it simple,keep it stupid
问题: 我都学了shell,为什么还要学python?
答: python更强大,功能更丰富,执行效率比shell高。还有就是顺应开发型运维的趋势,更高薪😃。
在这里插入图片描述

一、python起源

python的创始人为Guido von Rossum(吉多·范·罗苏姆),俗称”龟叔“,荷兰人。1989年圣诞节期间,在阿姆斯
特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中
Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
在这里插入图片描述
ABC是由Guido参加设计的一种教学语言。是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,
Guido 认为是其非开放(封闭,不开源)造成的。Guido决心在Python中避免这一错误。同时他还想实现在ABC 中闪现
过但未曾实现的东西。就这样,Python在Guido手中诞生了。

二、python的优缺点

python优点:

  1. 简单,易学,易懂,开发效率高:Python容易上手,语法较简单。在linux上和写shell一样,拿着vi都可以写,直接
    就可以运行。
  2. 免费、开源:我们运维用的大部分软件都是开源啊,亲!
  3. 可移植性,跨平台:Python已经被移植在许多不同的平台上,Python程序无需修改就可以在
    Linux,Windows,mac等平台上运行。
  4. 可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或
    C++编写,然后在你的Python程序中使用它们(讲完编译型语言和解释型语言区别就容易理解了)。
  5. 丰富的库: 想产生个随机数? 调库啊。想操作os? 调库啊。想操作mysql? 调库啊调库君。。。。。。Python
    的库太丰富宠大了,它可以帮助你处理及应对各种场景应用。
  6. 规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。

python缺点:

  1. 执行效率慢 : 这是解释型语言(下面的解释器会讲解说明)所通有的,同时这个缺点也被计算机越来越强性能所
    弥补。有些场景慢个几微秒几毫秒,一般也感觉不到。
  2. 代码不能加密: 这也是解释型语言的通有毛病,当然也有一些方法可以混淆代码。解决方法: 参考优点的第4
    条。

二、python应用场景

  1. 操作系统管理、服务器运维的自动化脚本
    一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
  2. Web开发
    Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定
    义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如
    Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
  3. 服务器软件(网络软件)
    Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步
    网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软
    件。
  4. 游戏
    很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,
    Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
  5. 科学计算
    NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
  6. 其它领域
    无人驾驶,人工智能等。

三、解释型语言与编译型语言

计算机只能识别机器语言(如:01010101001这种), 程序员不能直接去写01这种代码,所以要程序员所编写的程序
语言翻译成机器语言。将其他语言翻译成机器语言的工具,称之为编译器。
如:中国人 —(翻译)----外国人
编译器翻译的方式有两种,一种是编译,一种是解释。区别如下:
在这里插入图片描述
正因为这样的区别,所以解释型语言开发效率高,但执行慢和无法加密代码。

四、安装python-3.5.4-amd64

首先是需要 64位的系统
1.学会在win7系统下安装python运行环境
在这里插入图片描述
在这里插入图片描述
打开 显示界面
在这里插入图片描述

五、变量名的要求

1.必须不能以数字开头
2.变量名中只能含有字母,数字和_,其他字符不可以
3.变量名不可以是系统的关键字

num1 = num2 = num3 = 290

在这里插入图片描述
查看打印唯一标识符

print(num1)

在这里插入图片描述

六、python简单的语句验证

一、打开python交互式运行环境idle,在屏幕上打印python的第一个程序 “hello,world” 、 我喜欢去钓鱼

print("hello world")

在这里插入图片描述
显示结果
在这里插入图片描述
证明输出内容,不分中英文,都可以正常执行
在这里插入图片描述

二、切换到非交互界面

点击左上角的File 里面选择 New File 进入非交互界面
在这里插入图片描述

三、" " " 三引号的作用

只有在python中,才有三引号!
三引号的第一个作用是注释
正常注释为 #
在非交互界面输入上图的内容 ,非交互界面 验证结果为F5
输入F5验证结果,会出现路径及文件选择,选择一个自己可以记住的路径,选择确定。可以查看结果为第一行的hello 第二行,第三行是注释的状态 不显示
在这里插入图片描述
" " " 的注释验证

"""
print("123456")
print("654321")
print("346152")
"""

验证结果
在这里插入图片描述

三引号的第二个作用是换行
可以选择两种方法

print("""我喜欢python编程语言
我不喜欢c语言编程
I love python program""")
print('''我喜欢python编程语言
我不喜欢c语言编程
I love python program''')

结果显示没变化
在这里插入图片描述
三引号第三个作用是声明字符串

strval3 = """FBI 美国联邦调查局  Warning 警告  FBI Warning..."""

print(type(strval3))

print(strval3)

验证
在这里插入图片描述

四、设置python中的变量

my_2wife = 438
print(my_2wife)
wife = '小老婆'
Wife = '大老婆'
print(wife)
print(Wife)
#给变量赋值
#普通变量赋值
mynum = 250
#输出值
print(mynum)

my_2wife 是一个变量,它被赋值为 438。然后使用 print(my_2wife) 打印出这个变量的值。
wife 和 Wife 都是变量,wife 被赋值为字符串 ‘小老婆’,Wife 被赋值为字符串 ‘大老婆’。然后分别使用 print(wife) 和 print(Wife) 打印出这两个变量的值。
mynum 是一个变量,它被赋值为 250。然后使用 print(mynum) 打印出这个变量的值。
这段代码演示了变量的赋值和打印输出的过程。

结果验证
在这里插入图片描述
五、type和int

aa=123.5
aa
123.5
type(aa)
<class 'float'>
int(aa)
123

在这里插入图片描述
type(aa)
在这里插入图片描述

五、设置两个变量 边长为r 面积为area ,计算周长为40的正方形的面积,用print()将面积打印出来。

r=40/4
area=(r*r)
print(area)

1、第一条语句计算了40除以4的结果,并将结果10.0赋值给变量r
2、第二条语句计算了半径r的平方,并将结果赋值给变量area
3、使用print()函数打印出变量area的值
4、结果输出为100,他计算了一个边长为10的一个正方形的面积,结果输出为100
显示结果验证
在这里插入图片描述

六、单引号声明字符串

strval = '两只小蜜蜂,飞在花丛中'

print(type(strval))

print(strval)

验证结果
这个语句使用 print() 函数打印出变量 strval 的值。它的目的是为了将 strval 的内容输出到屏幕上。
第二条命令的意义是 打印变量的类型
在这里插入图片描述

七、双引号声明字符串

strval2 = "两只老虎,两只老虎谈恋爱,两只都是公的,真变态啊,真变态"
print(type(strval2))
print(strval2)

验证结果
在这里插入图片描述

八、转义符(去掉了’的字符串边界的意义)

strval = '伟大领袖\'毛主席\'说过:一切不以结婚为目的的谈恋爱都是耍流氓!'

print(strval)

转义在例句中的意义是
’ 是一个转义序列,用于在字符串中插入一个单引号字符

验证
在这里插入图片描述

九、其他转义字符

\n 换行操作
可以打断,单行、或多行显示

strval = '辛苦遭逢起一经,\n干戈寥落四周星。\n山河破碎风飘絮,\n身世浮沉雨打萍。\n惶恐滩头说惶恐,\n零丁洋里叹零丁。\n人生自古谁无死,\n留取丹心照汗青。'

print(strval)

验证
在这里插入图片描述

另一种显示方法

strval = '辛苦遭逢起一经,干戈寥落四周星。\n山河破碎风飘絮,身世浮沉雨打萍。\n惶恐滩头说惶恐,零丁洋里叹零丁。\n人生自古谁无死,留取丹心照汗青。'

print(strval)

验证结果
在这里插入图片描述
英文换行则

print("hello\nworld")

表示字符串本身有一个换行符
显示结果
在这里插入图片描述

十、 \ 换行符

换行符的作用是,做python语言填写时,命令很长很长,把他分行,显示的更清晰,明了)
注意不能先把格式的反括号打出来,否则无法进行换行,会提示错误
在这里插入图片描述
这个错误通常是由于代码中的断行符后面有意外的字符而引起的。在Python中,行继续符(\)用于在一行代码太长时将其分解为多行。但是,如果行继续符后面跟着一个非法字符,比如一个无效的标点符号或缺失的引号,就会出现"SyntaxError: unexpected character after line continuation character"错误。要解决这个错误,你需要检查断行符后面的字符并确保它符合Python语法规则。
如果想让显示的两行内容中间有间隔则,输入的格式为

print("如果想让现实的内容中间 \
有间隔 \
则输入的格式为")

显示结果
在这里插入图片描述
如果不想有间隔则输入的格式为

print("如果不想有\
间隔则")

显示结果

在这里插入图片描述

十一、\t tab键 横向制表符

该命令的显示结果为 中间我一个tab的距离

作用:是在计算机中,横向制表符(制表符)通常由转义序列"\t"表示,它是一种特殊的控制字符。制表符的作用是在文本中创建垂直对齐的列或字段。当你在文本中插入制表符时,它会在当前位置插入足够的空格,使得下一个字符的位置处于下一个制表符停靠位置。这在表格、对齐文本或其他需要垂直对齐的场景中非常有用。制表符的具体宽度可以根据不同的应用或设置而有所不同。在代码中,制表符也常用于缩进代码块,提高代码的可读性。

填写的格式

print("hello\tworld")

验证的结果
在这里插入图片描述

十二、\ 续行操作 (必须在每一行的最后写)

填写格式

strval = '宋老师是一位肤白貌美,德\
艺双馨的好老师'
print(strval)

验证结果(成功的将后面的内容接到了前面)
在这里插入图片描述

十三、元字符串 r (原样输出)

禁止转义符操作
strval是一个变量,它的作用是存储一个字符串值。

strval=r"剩女最大的愿望就是\n赶紧嫁人"
print(strval)

显示结果应该没有变化,因为禁用转义符
查看结果
在这里插入图片描述
删除原字符串

strval="剩女最大的愿望就是\n赶紧嫁人"
print(strval)

验证结果,应为转义符后面内容在第二行显示
在这里插入图片描述

十四、类型转换

一、将浮点型转换成整数类型

x=123.45
y=int(x)
print("转换之后的结果是:",y)

验证
在这里插入图片描述
二、如果想使转换后的结果没变化
则去掉

y=int(x)

结果验证
在这里插入图片描述
三、字符串能不能转换成整数呢 ?如果字符串中都是数字的话,可以
输入

x=1234.5453555
y=int(x)
print(y)

验证结果
在这里插入图片描述
到这里可能会有疑问,都是取整,那上面两个的区别在哪里呢? 下面我来给解释一下
在上述代码中,第一个例子中使用了浮点数x,并通过int()函数将其转换为整数类型。转换后的结果为123。
第二个例子中,使用了字符串x=“1234”,并通过int()函数将其转换为整数类型。转换后的结果仍然是1234。

区别在于:
第一个例子中的浮点数x=123.45被转换为整数时,小数部分被截断,只保留整数部分。

第二个例子中的字符串x="1234"被转换为整数时,整个字符串中的字符被依次解析成数字来构成整数。由于字符串中只包含数字字符,所以能够成功转换为整数。

在类型转换中,int()函数用于将数字或字符串转换为整数类型。但要注意,如果字符串中包含无法解析为整数的字符,或者字符串为空,则会引发ValueError异常。例如,将字符串"x = ‘123abc’"转换为整数时,会抛出ValueError异常,因为字符串中包含了非数字字符。

总之,int()函数用于将数字或符合要求的字符串转换为整数类型,但对于非法的转换操作,会引发异常。

十五、x是英文字母,并使用 or 进行布尔值验证

x="z"
x<="z" and x>="a" or x<="Z" and x>="A"

x的范围小于z 大于z 或者小于Z 大于A
验证结果为 True

x="Z"
x<="z" and x>="a" or x<="Z" and x>="A"

验证结果为True

x=1
x<="z" and x>="a" or x<="Z" and x>="A"

因为1这个值,不在a-z A-Z的范围,所以显示结果为False
在这里插入图片描述
字母大小写比较的原理
ord
ord(“a”)是一个Python内置函数,用于返回给定字符的Unicode码点。在ASCII编码中,字母"a"的Unicode码点是97。
在这里插入图片描述
以此类推可以成功查看每个字母对应的相应数值
以下是示例代码

十六、查看字符串是否包含内容

var = 'i am is winner '
result = 'winner' in var
print(result)
目的是检查字符串变量var中是否包含子字符串'winner'。通过使用'in'运算符,可以检查指定的子字符串是否存在于给定的字符串中。如果存在,结果(result)将为True,否则为False。

在这里插入图片描述

var = 'i am is winner '
result = 'lowser' not in var
print(result)
这段代码检查字符串变量var中是否不包含子字符串'lowser'。通过使用'not in'运算符,可以判断指定的子字符串是否不存在于给定的字符串中。如果不存在,结果(result)将为True,否则为False。

在这里插入图片描述

列表成员运算

lists = ['赵美新','邓玉洁','徐影','李艳玲','万玲云']
result = '邓玉洁' in  lists
print(result)
result = '邓玉杰' not in lists
print(result)
这段代码检查列表变量lists中是否包含指定的元素。使用in运算符可以判断给定的元素是否存在于列表中。如果存在,结果(result)将为True,否则为False。使用not in运算符可以判断给定的元素是否不存在于列表中。如果不存在,结果(result)将为True,否则为False。

结果显示 为 两个 True
在这里插入图片描述

十七、判断某一年x是否是闰年的表达式

闰年的口诀是 四年一闰,百年不闰 ,四百年又闰
所以判断某一年是否是闰年有两种情况,1.能被400整除 2.能被4整除,同时不能被100整除

def is_leap_year(year):
    if year % 400 == 0:
        return True
    elif year % 4 == 0 and year % 100 != 0:
        return True
    else:
        return False

# 在此处输入你想要判断的年份
year = 2024

if is_leap_year(year):
    print(year, "是闰年")
else:
    print(year, "不是闰年")

验证结果(这种方法需要在year后面输入数字,能被4整除则是闰年)
在这里插入图片描述
输入2023
显示不是闰年
在这里插入图片描述
第二种方法:如果想输入结果,实时显示变化
则输入

def is_leap_year(year):
    if year % 400 == 0:
        return True
    elif year % 4 == 0 and year % 100 != 0:
        return True
    else:
        return False

# 在此处输入你想要判断的年份
year = int(input())

if is_leap_year(year):
    print(year, "是闰年")
else:
    print(year, "不是闰年")

验证结果
是让输入数字,而不是直接验证显示结果
看输入 2024 和 2023的结果
在这里插入图片描述

七、布尔值

一、什么是布尔值

布尔值是一种数据类型,用于表示逻辑值,只有两个可能的取值:True(真)和False(假)。非0值转换为True,将0转换为False,在Python中,布尔值是内置的关键字,用于表示真假、开关状态等情况。

布尔值常用于条件判断、逻辑运算和控制流程等方面。例如,在if语句中,判断条件的结果必须是布尔值,根据布尔值的真假来决定执行哪个代码块。

关系运算符(比如==、!=、>、<、>=、<=)和逻辑运算符(比如and、or、not)通常用于比较或者组合布尔值。

二、简单的示例

x = 5
y = 10

is_greater = x > y  # 判断x是否大于y,结果为False
print(is_greater)  # 输出False

is_greater = x < y  # 判断x是否大于y,结果为True
print(is_greater)  # 输出True

is_equal = x == y  # 判断x是否等于y,结果为False
print(is_equal)  # 输出False

is_true = True  # 布尔值True
print(is_true)  # 输出True

is_False = False  # 布尔值False
print(is_False)  # 输出False

解释
is_true = True # 布尔值True
print(is_true) # 输出True
is_False = False # 布尔值False
print(is_False) # 输出False

在这里插入图片描述

验证结果
在这里插入图片描述

三、整数转换为布尔值

x=20
	  
>>> y=bool(x)
	  
>>> print(y)

验证结果
如果将内容输入为x 时,则显示内容为变量x的值
在这里插入图片描述

四、浮点数转换为布尔值

x=10.2
y=bool(x)
print(y)

验证
x=10.2 (将x的变量设置为10.2)
y=bool(x) (在代码中表示会将x转换为布尔型)
print(y) (将变量y输出到控制台,输出结果)
即将非0值转换为True,将0转换为False。
当x的值为20时,y的值为True。输出结果为True和20。

在这里插入图片描述

五、布尔值转换为整数

x=False
"x=False"表示将变量x的值设置为False。
y=int(x)
"y=int(x)"将x的值转换为整数类型,即False转换为0。因此,将变量y的值设置为0
print(y)
最后,"print(y)"将变量y的值输出到控制台,结果为0。
x=True
"x=True"表示将变量x的值设置为True。
y=int(x)
"y=int(x)"将x的值转换为整数类型,即True转换为1。因此,将变量y的值设置为1
print(y)
最后,"print(y)"将变量y的值输出到控制台,结果为1。

这串代码的意义为 输出两个结果0和1

验证
在这里插入图片描述

六、布尔值转换字符串类型

x=True
y=str(x)
print(y)

这段代码的意思是将布尔型变量x转换为字符串类型,并输出结果。

验证
在这里插入图片描述

八、运算

一、加

result=3+5	  
 print(result)	  
8

二、减

result=5-3	  
print(result)  
2
result=3-5	  
print(result)  
-2
result=3-3
>>> print(result)  
0

三、乘

*号代表乘而不是代表全部

result=3*5	  
print(result)  
15

四、除

result=3/5
print(result) 
0.6
result=5/3	  
print(result)
1.6666666666666667

五、取余运算

result = 7 %  10
print(result)

在这个代码中,"7 % 10"表示7除以10的余数。余数运算符(%)用于计算两个数相除后的余数。
在这段代码中,7除以10的余数是7,因为7无法整除10,所以余数为7。变量"result"被赋值为7,然后通过"print(result)"将其输出到控制台。因此,输出结果是7。

验证
在这里插入图片描述

六、取商运算

如果不能整除则显示整数,不会四舍五入

result = 7//2
print(result)

result = 9//3
print(result)

result = 10//4
print(result)

显示结果
因为 七除二 和 十除四 不能整除,所以只显示整数
在这里插入图片描述

七、幂运算

计算一个数的N次方

result = 4 ** 5
print(result)

在这段代码中,"4 ** 5"表示将4的5次方。双星号(**)用于计算一个数的幂。

显示结果
在这里插入图片描述

八、不确定尾数

注意:python语言的浮点数运算存在一个"不确定尾数"问题,即两个浮点数运算,运算结果可能会增加"不确定尾数"。

>>> 0.1+0.3
0.4

0.2+0.4
>0.6000000000000001

0.1+0.2	  
0.30000000000000004

0.2+0.3	  
0.5 

能被二进制精确表示的不存在这个问题,不能被二进制精确表示的会出现这个问题

这种差异是由于浮点数的存储和计算精度引起的。在计算机中,浮点数的表示是基于二进制的,而不是十进制。由于二进制无法精确表示某些十进制数,因此在浮点数计算中可能出现舍入误差。

在第一个例子中,0.1 + 0.3的结果是0.4,因为这两个数可以精确地由二进制表示。

在第四个例子中,0.2 + 0.3的结果是0.5,因为这两个数也可以精确地由二进制表示。

而在第二个和第三个例子中,0.2、0.3和0.1这些数在二进制中无法精确表示,因此计算结果会有一个微小的舍入误差。

这种舍入误差是浮点数计算中的常见情况,需要在使用浮点数进行数值计算时予以考虑。如果需要更高的精度,可以使用Decimal模块进行精确的十进制计算。

如果想精确为小数,则乘10 在除10

2+4
6
6/10
0.6

这样不会显示不确定尾数的问题

九、比较运算

一、大于运算

result = 5 > 2
print(result)

验证
在这里插入图片描述
二、小于运算

result =  3 < 5
print(result)

验证
在这里插入图片描述
三、等于运算

result = (5 == 5)
print(result)

在这里插入图片描述
四、提示
如果 运算错误 则会提示 False

result = 5<2
>>> print(result)
False

因为5不小于2 所以报False
在这里插入图片描述
五、大于等于

result = 5>=8
>>> print(result)
False

因为5不大于等于8 所以提示 False
在这里插入图片描述
六、小于等于

result = 8<=8
>>> print(result)
True

因为8小于等于8 所以提示 True
在这里插入图片描述
七、不等于

result = 8!=8
>>> print(result)
False

因为8不等于8是错误的所以提示 False
在这里插入图片描述

result =7!=8
>>> print(result)
True

因为7不等于8所以提示True正确

注意:python中类型不同就是不等于

十、逻辑运算

一、逻辑与运算(有假则假)
与 的含义就是 and

var1=False
var2=False
result = var1 and var2
print(result)

验证 (一定是假 False)
在这里插入图片描述

var1=True
var2=False
result = var1 and var2
print(result)

验证(因为是有假则假,所以他验证也是假)
在这里插入图片描述
二、逻辑或运算 (有真则真)

var1 = False
var2 = False
result = var1 or var2
print(result)

验证(因为都是假,所以结果一定是假)
在这里插入图片描述

var1=True
var2=False
result = var1 or var2
print(result)

验证(因为有真则真,所以一定是真的)
在这里插入图片描述
三、逻辑非运算

var1 = True
result = not var1
print(result)
在这段代码中,var1被赋值为True,然后result被赋值为not var1。not运算符用于对布尔值取反,即True变为False,False变为True。

因此,not var1的结果是对True取反,最终结果为False。所以,当代码运行时,print(result)将输出False。

这是因为not运算符会将True转换为False,而将False转换为True。

显示结果为
在这里插入图片描述
如果var1=False 则结果为 True

var1 = False
result = not var1
print(result)

显示结果为
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值