4.1初识python
我们在前面已经了解了批处理和控制台命令,但这类语言输入显得过于复杂,并且需要注意的事项有很多。那么问题来了,有没有什么操作简单,门槛较低,容易学习操作的计算机语言呢?今天他来了,python!百度是这么说的:简单,易学,速度快等等一系列优点,今天我们就来了解一下python语言吧!
4.2.定义变量
4.2.1变量是什么
学过计算机语言的都知道,计算机语言需要定义变量才可以进行简单的输入和输出,之前我们在批处理的时候曾经对变量名和变量值做过一个简单的例子,我们今天再复述一下这个例子:
我们坐出租车,假如一公里五块钱,坐了三公里要付给司机十五块钱,坐了六公里要付给司机三十块钱,那么在付钱的过程中,一公里五块钱不变,变的是他行进几公里和相应的价钱。而后者则是变量。而行进公里数则是自变量,价格则是因变量。
当然,在这里我们只需要知道两个东西,变量名和变量值,在上述例子中,应付价格,路程和每公里的价格就是变量名,而里面的数字就是变量值。变量名就是赋予变量值一个名称方便计算机进行识别,大部分情况下无任何其他实意!!!
4.2.2定义变量格式
在python语言中,变量格式如下
变量名=变量值
注意:在python语言中,等号两侧可以加空格!!!,
变量格式举例如下:
name="tom"
(关于引号请看下文变量值注意事项)
变量名格式注意事项:
变量名格式要求:
- 只能有数字、字母、下划线 _
- 变量名可以以_或者字母为开头,不能以数字为开头
- 建议:变量名做到见名知意(如:name表示名字,age表示年龄,num表示数字等)
变量名称的几种写法:
- 下划线写法 举例:(student_name)
- 单驼峰写法 举例:(Student name)
- 双驼峰写法 举例:(Student Name)
变量值
注意事项:
- 变量的值分为多种类型:整型、浮点型、字符串类型、列表、字典、元组、集合....
- 变量的值,如果是整型 或者 浮点型,那么可以直接进行定义
- 变量的值,如果是字符串类型,那么变量值必须用引号引起来
(ps:变量值默认为整型和浮点型,因此在进行其他操作时应注意数据类型转换防止程序报错!!!)
4.2.3 引用及输出变量
我们已经定义了一个变量名,截下来我们该对上述变量进行引用了。
输出变量:
一般我们用输出语句直接引用变量名,输出语句格式如下
print(要输出的内容)
这里要注意的是,print默认输出类型为数值类型,因此在输出时需要注意!!!
当然不仅仅能输出数值类型,输出时有以下几种可能和注意事项:
- 输出字符串
注意:输出的字符串必须在引号中。如下代码
print("hello world")
- 输出变量
注意:输出的变量不能加"",如下代码
suid_1=18 print(suid_1)
- 输出结果中及有变量,也有字符串(这里有两种格式,详见下图)
- 格式一
name="tom" age=18 print(f"姓名是 {name} 年龄是 {age}")
- 格式二
name="tom" age=18 addr="beijing 海淀" print("姓名是 %s 年龄是 %d 家庭地址 %s" %(name,age,addr))
(注意:print语句中,%s,%d,%s均为占位符,目的与后面的name,age,addr相对应,%s为字符串类型,%d为整型,%f为浮点型!!)
可以看到,我们在输出中就已经引用变量了,因此可以用输出变量进行引用,当然也可以用其他方法!
4.3数据类型
4.3.1常见的数据类型种类
- 整型 : 可以理解为整数,例如:1、2、3、4等
- 浮点型: 可以理解为小数,例如:1.1、1.3、3.14等
- 字符串:包含汉字,字母及数字等多种格式,但只能进行原样输出,如果需要计算则需要进行数据类型种类的转换!!!
(ps:在目前的学习中,我们只需用到整形(int),浮点型(float)及字符串(str),另外还有列表、字典、元组、集合、函数、类等多种数据类型,其他数据类型在之后调用时再提及)
4.3.2判断数据类型
通过type方法可以判断数据类型
type使用格式
type(变量名)
话不多说直接举例:
suid_1=18 suid_2=18.3 suid_4="18" res = type(suid_1) print(f"sud_1 的类型是 {res}") res = type(suid_2) print(f"sud_2 的类型是 {res}") res = type(suid_4) print(f"sud_4 的类型是 {res}")
看结果
(这里可以看到变量值默认类型为数值类型,须加引号才能转换为字符串类型!!!)
4.4人机交互与数据类型转换
我们已经可以定义变量和输出了,但无法与计算机交互只能通过后台进行修改,接下来我们利用input语句进行人机交互,让用户自己定义变量值
4.4.1格式
输入的是用的方法input()方法,使用格式如下
变量名=input("给用户的提示信息: ")
话不多说直接举例
让用户自己输入姓名和年龄,并判断相应变量名称的数据类型
myName=input("请输入姓名: ") myAge=input("请输入年龄:") print(myName) print(myAge) res1 = type(myName) res2 = type(myAge) print(f"myName 的类型是 {res1}") print(f"myAge 的类型是 {res2}")
直接看结果:
(从上图可以看出,交互输入类型默认为字符串类型,因此在进行一些计算时必须要进行数据类型转换!!!)
4.4.2数据类型转换
上一个例子可以看出来交互输入类型默认为字符串类型,那我们该如何转换字符串类型呢?
将字符串类型转换为整数
格式
格式:int(字符串数据)
看不懂就直接举例!看下图例子
num1 = "123" num2 = int(num1) print(f"num1的值是{num1}") print(f"num2的值是{num2}") res1 = type(num1) res2 = type(num2) print(f"num1的类型是 {res1}") print(f"num2的类型是 {res2}")
看结果怎么说:
结果显示字符串类型已转化为整型,成功!
(这里要注意的是:字符串类型在转换成数值型的过程中必须要保证字符串的每一个字符都是数字,否则报错!!!!)
整型转换为字符串类型
num1 = 123 num2 = str(num1) print(f"num1的值是{num1}") print(f"num2的值是{num2}") res1 = type(num1) res2 = type(num2) print(f"num1的类型是 {res1}") print(f"num2的类型是 {res2}")
看结果
转换成功,完成!!
注意:(整型在转成字符串时会将小数点后面的数值删除,因此在转换的过程中需要注意)
4.5 if判断
在批处理中,我们也曾用到if判断,同样,在python中,我们同样经常需要用if语句进行判断以达成自己的目标。详情见下文
4.5.1 if判断格式
- 单分支格式
单分支格式如下
if 判断条件: 当条件成立的时候,执行此处代码 当条件成立的时候,执行此处代码 当条件成立的时候,执行此处代码
简单来说就是当条件成立时执行if判断语句中的代码,否则跳过该语句块代码继续执行主程序
- 双分支格式
双分支格式如下
if 判断条件: 当条件成立的时候,执行此处代码 当条件成立的时候,执行此处代码 当条件成立的时候,执行此处代码 else: 当条件不成立的时候,执行此处代码 当条件不成立的时候,执行此处代码 当条件不成立的时候,执行此处代码
这种判断是当条件成立时执行if下代码,否则执行else代码,双分支判断应用较多,比如简单的验证账号密码,用户输入数字判断是否十八岁等应用情况。
双分支举例
让用户输入自己的年龄,判断是否已成年:age=int(input("请输入年龄:")) if age>=18: print("已成年") else: print("未成年")
看输出结果
判断成立,下一个
- 多分支格式
多分支格式如下:
if 判断条件1: 当条件1成立的时候,执行此处代码 elif 判断条件2: 当条件2成立的时候,执行此处代码 elif 判断条件3: 当条件3成立的时候,执行此处代码 else: 当所有条件都不成立的时候,执行此处代码
此类判断适用于筛选情况下使用,如:成绩表评级,石头剪刀布等应用条件。
直接举例
fenshu = int (input("请输入分数:")) if fenshu>=90: print("优秀") elif fenshu>=80: print("良好") elif fenshu>=70: print("中") elif fenshu>=60: print("及格") else: print("不及格")
看结果:
结果没毛病,完工!
ps(这里要注意的是,程序是自上而下进行执行,如果if判断条件成立,其他语句均不执行,也可以从60到90依次向上写,但是需要注意逻辑问题,可能会同时满足两个及两个以上条件,因此需要注意区间!!!)
4.5.2 if的判断方式
判断数字的方式
< (小于) >(大于)<=(小于等于) >=(大于等于)
== (全等于) !=(不等于)
判断字符串的方式
= (全等于) !=(不等于)
组合条件
- and :与同真为真,一假则假
- or :或同假才假,一真即真
- not:非非真即假,非假即真
ps(这里只是列出一些基础判断,另外还有其他组合条件会在之后的文章提及。)
4.6注释
如同批处理一样,在python中也有注释语句,用于方便人类理解程序。
注释语句作用:
作用1:將程序中某一行或者多少设置为不执行
作用2:解释程序中的每行内容的作用
两种注释格式:
格式一:
单行注释
# 语句
举例
name="tom" age=18 addr="beijing 海淀" # print(f"姓名是 %s 年龄是 %d 家庭地址 %s" %(name,age,addr))
看结果
看到注释将输出设为不执行,导致没有输出结果,完工!
格式二:
多行注释:
格式:
''' 语句块 '''
可以将整个语句块进行注释,方便进行排错。
举例
""" name="tom" age=18 addr="beijing 海淀" print(f"姓名是 %s 年龄是 %d 家庭地址 %s" %(name,age,addr)) """
看结果
可以看出并没有输出结果,说明被注释,完工
(小技巧:可以选中你想要注释的语句块,用CTRL+、进行快捷注释!!!)
4.7循环:
我们已经可以使用用户交互和if判断做很多事情了,但是程序做完就结束执行,因此我们需要一个可以使程序重复执行的一个命令,这个命令叫做循环。这里我们只看两个循环,for循环和while循环
4.7.1 for循环
用于有限次循环,
格式
for 变量 in 数据集合(起点,终点): 代码 代码
直接举例
用程序输出一到十的数字:
num=1 for num in range(1,11): print (num)
看输出结果
这里有两个注意点:
- 这里的for循环于批处理不同的是,只有起点和终点,没有步长,在python里面for循环默认步长是1,若要进行修改则需要在终点后里的括号加上你想要的间隔。
- 执行代码时不能写到for前面,否则会默认为程序不运行
- 因为在python中,程序只能识别终点-1的数字,因为往往要在大范围后做+1,这里需要着重注意!!!!!
4.7.2while循环
for循环虽然好用,但是for循环局限于起点和终点只能进行有限次数的循环,那么如何进行无限次数的循环呢,while循环可以解决这个问题
格式
while 判断条件: 代码 代码
这里的判断条件可以判断数字字符串,也可以去直接去定义判断条件。
定义判断条件:
判断条件成立的情况如下:
1 True
条件不成立的情况如下:
0 False
这里while循环判断逻辑如下:
是当条件成立时,则执行该循环,条件不成立时,则直接绕过该循环继续执行主程序,这里需要引申两个循环控制的命令。
循环控制命令:
- break:立刻跳出循环,继续执行循环后面的代码
- continue:立刻终止当前这一轮循环,直接开始下一次循环
话不多说直接举例
和程序进行猜数据游戏
import sys import random npc=random.randint(1,101) while True: yonghu=int (input("请输入数字")) if yonghu>npc: print("您输出的数字过大") continue elif yonghu<npc: print("您输出的数字过小") continue else: print("恭喜你猜对了") break sys.exit()
在这里我写了一个嵌套(就是把if判断写到while循环中进行判断,不同的数字会有不同的判断结果。)看结果
程序可以运行,完美
(这里注意,break,contiune只能写在循环中!!!)
4.8 import引用模块
impot可以引用一些主程序外的一些组件,这里我将我所了解的一些常用组件写在下面
import格式
import(模块) 引用模块
直接举例
终止程序模块:
import sys sys.exit()
引用该模块后输入sys.exit()可以立刻终止程序,该代码可以写在程序的任意位置,包括循环,函数,主程序中。
时间间隔模块
import time time.sleep()
该模块可以让程序间隔一段时间后执行下一条程序(单位为秒),一般用于多次循环中做间隔防止程序执行过快影响计算机运行速度。
随机数模块
import random 变量名=random.randint()
该程序可以随机生成随机数,可在括号内进行起点和终点+1的数字
以上就是关于python的一些基础内容了,如有不对请多指正。谢谢各位看客观看0^0
标签:网络安全,判断,入门,python,代码,字符串,循环,print,格式 From: https://blog.csdn.net/ch225/article/details/136632654