文章目录
1 . Python 介绍
1.1 Python是什么
-
Python是一种高级编程语言,具有简单易学、功能强大、可扩展性好等特点,是目前广泛应用于Web开发、数据分析、人工智能等领域的编程语言之一。
-
Python的历史可以追溯到1989年,当时在荷兰的Guido van Rossum开发了这种语言,Guido最初设计Python是为了取代ABC语言, ABC语言是一个教学语言,但是由于其性能较差,且不适合真实的应用。Guido认为ABC语言的设计理念值得借鉴,因此Python语言在刚开始的设计中也参考了ABC语言的一些设计思路。
-
Python语言首次在1991年亮相,并受到了互联网的早期开发人员的欢迎。由于其简单易学、开发效率高等优势,Python成为了许多开源项目和科学计算项目的首选语言。尤其在Web开发、数据分析、人工智能等领域,Python的应用越来越广泛。
-
-
目前Guido van Rossum(吉多·范罗苏姆)仍然积极参与Python语言的开发,但自2018年开始从Python社区全职退休,他目前任职于微软公司。总的来说,Python是由Guido van Rossum开发的一种高级编程语言,其简单易学、功能强大、可扩展性好等特点使其成为了许多领域的首选编程语言。
1.1.1 怎么理解 “编程”
-
编程可以简单理解为程序员为解决特定的问题,
-
按照自己的思路, 在 遵循 特定的计算机语言规则 下编写程序的过程.
-
所以想要进行编程,就需要选择一门计算机语言 ,然后按照该程序语言规则编写程序.
print("你好,Python")
1.2 注释
-
首先注释是不会执行的,注释 相当于程序的说明书,对程序有解释说明作用。
- 单行注释 快捷键 ctrl+/
# 这是一个python说明。使用#号开头的
- 多行注释,有两种写法:
""" 3个双引号 """ ''' 3个单引号 '''
1.3 变量定义与使用
-
什么是变量? 主要体现在一个字,变,相当于数据存储在计算机的空间。
- 银行存款,金额
- 身高,时间
-
变量的语法格式:
# 变量名 = 值 age =18 name =“王一博” # 表达式的形式 num = num_1 +num_2
1.3.1 命名规则与规范
-
标识符 命名规则:由字母,数字和下划线组成,不能以数字开头。
-
变量名 是严格区分大小写的
name Name 就是两个变量。
- 遵循标识符的规则,不能包含特殊字符
.&#¥@
都是不可以的。 - 见名知意
age= "张学友" 合适么?
- 使用下划线连接
_ _ a 和 _ _ _ a
是可以的。 - 不能使用 系统的关键字
- 遵循标识符的规则,不能包含特殊字符
-
变量名命名还需要遵循一定的规范.
- 符合大小驼峰
类名 Hello , 方法名 getUser(), 变量名 my_name
- 符合大小驼峰
-
练习案例,变量的变化
a = 5 a = 10 print(a) #输出是什么? 变量在内存中的指向发生了变化 b = 12 b ="12" print(b) #b是什么的类型 ? 输出多少 type(b) 可以查看
1.3.2 数据类型
- 什么叫做数据类型?像这样一个问题,生活中特定的物品需要固定的容器,
- 例如,气体需要使用灌装, 液体使用瓶装,蔬菜使用篮子即可。
- 思考一个问题? 我能用篮子装液体或者气体么?
- 一部手机, 我是选择使用书包装, 还是使用一个汽车去装? 这就涉及到空间大小的问题,选择合适的空间去存储数据值,所以数据类型因此而生产生。
- 数字类型
- 整数类型 int
- 小数类型 folat
- 布尔类型 bool
- 字符串类型 String
- 列表 list
- 集合 Set
- 元组类型 tuple
- 字典类型 dict
1.4 输入和输出
1.4.1 print()
- 输出的几种形式
- 基本输出
# 基本输出形式 print("你好") print(123)
- 多类别输出
#多种类别输出 print("字符串",123,12.3,True) #
- 在输出里面进行计算
#可以在输出里面做算术运算操作 print(1+2) # 输出 3
- 占位符输出(重点掌握)
# 使用占位符输出 %d 整数 %s 字符 %f 浮点 age =18 print("年龄%d"%age) name =“王一博” print("名字%s"%name) salary =10.1 print("我的年龄%.2f"%salary) #.2f保留2位小数 最多6位
- 格式化输出
#f“” 相当于 format 简写形式。 print(f"我的年龄是{age}")
- 填充式输出
#f"{}" 相当于 format 简写形式。 print("我叫%s ,年龄%d, 身高 %f" % (name,age,high)) print(f"我叫{name} ,年龄{age}, 身高{high}") #扩展 format格式保留2位小数 a = 3.1415926 print(f"{a:.2f}") #使用 {a:.2f}格式进行保留。
- 输出的关键字使用
prin( objects,sep="",end="\n")
- sep=“” 默认是空格, end=“”默认是 \n
#第一个sep= “” 相当于中间使用什么间隔, end=“”相当于最后结尾使用什么 print(1,2,3,4,sep="-" ,end="!")#1-2-3-4!
1.4.2 input()
-
输入相当于从控制台输入到程序中,切记输入的类型是String类型,需要转换相应的格式。
- 查看数据类型的方法
type()
pass_Word = int(input("请输入密码")) # 转换成 int类型 user_Name = input("请输入用户名") # 打印输出登录页面, # 假设我想让输入的密码末位加1,怎么做?需要将输入的密码转换int操作,数据类型转换 print(user_Name,pass_Word) #登录类型 type(pass_Word) # int type(user_Name) # str
- 数据类型转换问题,需要注意
#控制台接收的是字符串类型。 pass_Word = input() # int 和str 注意这样会报错的,因为涉及到数据类型转换的问题. new_Str = pass_Word +10
- 查看数据类型的方法
1.5 运算符
1.5.1 算术运算符
1.5.2 赋值运算符
1.5.3 关系(比较)运算符
1.5.4 逻辑运算符
2. 专项练习题
2.1 计算长方形的面积
- 天安门广场位于北京市中心,属于一个长方形,长500米 ,宽800 米,求天安门的广场面积是多少?
-
# 长方形面积计算公式 面积= 长*宽 a = 500 #a代表长 b=800 #b是宽 #面积公式 s = a*b print(s) #400000
2.2 实现变量的交换
-
变量的交换在python中有两种写法。
- 中间设置变量法,引入第三方变量保存。
#控制台任意输入两个数字 a = int(input()) b = int(input()) #交换变量,使用第三个变量保存 temp=a # 先将a的值保存到temp中 a=b b=temp print(a,b)
- 变量实际上存的都是地址,地址值改变指向方式。
#控制台任意输入两个数字 a = int(input()) b = int(input()) # 第二种写法 a,b =b,a print(a,b)
2.3 获取个位十位
- 相当于获取一个整数的十位和个位
# 从控制台输入一个两位数,前提不包含0的两位数。
num = int(input())
#1.首先获取个位数,需要使用算术运算符 %
gewei = num%10
#2.如果获取十位上的数 就需要向下整除。
shiwei = num//10
#交换位置
print(gewei,shiwei,sep="") # sep=“”关键字是间隔
print(gewei*10+shiwei)#第二种方式
2.4 输入三个数
-
需要对输入的类型有了解,
- input()从控制台接受的是 什么类型? 能做乘法运算么?
""" #是错误的 a=input() b=input() c=input() print(a*b*c) """ #需要类型转化,因为输入的是str类型 a=int(input()) b=int(input()) c=int(input()) print(a*b*c)
2.5 求最大倍数
- 计算出n中包含多个k值,这是思考一个方向, n/k即可但是我们需要的是一个整数 ,向下取整数 需要用到运算符 //.
- n//k 从而能得知 n中包含k的数量12 中**最多能包含 2 个 5,**即
12 // 5 = 2
。
#假设 `n` 和 `k` 都是正整数,那么 `n // k` 就是 `n` 中包含 `k` 最多倍数的数量,然后在*k。
n,k = list(map(int,input().split()))#在一行接受多个值
print((n//k)*k)
2.6 鸡兔同笼
-
解法有很多种,说一种最简单直接的 使用二元一次方程。
# 根据不等式换算得 """ 根据已知条件输入 x+y = heads(头的数量) 2x+4y = legs(腿的数量) 进行公式带入换算 假设将上面的 头都乘积2 2x=2heads-2y 然后带入下面的公式中 2heads-2y+4y = legs 2heads +2y = legs y = legs//2 -heads x = heads -y """ heads = int(input()) legs = int(input()) y = legs//2 -heads #主要就是明白这个不等式怎么来的 x = heads -y print(f"鸡的数量是{x},兔子的数量是{y}")
2.7 打印输出5位数
-
输入一个5位数,逐个打印出这5位数的个位、十位、百位、千位、万位。
- 相当于获取5位数的每一个位置。
num = int(input()) b = num // 10000 c = num % 10000 // 1000 # 相当于取后四位。 d = num % 1000 // 100 e = num % 100 // 10 f = num % 10 print(b, c, d, e, f)