锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

python -白白入门篇

时间:2023-06-20 05:07:00 j6d系列矩形电连接器j6w

第一章,计算机基础

组成

硬件

存储设备

  • 内存

     瞬时存储、断电、程序退出、数据消失。  传输速度很快。 
  • 外存

     永久存储。  传输速度相对较慢。  存储单位:  位bit:存储1个0或1个--b   字节byte:--B 1B=8b  KB -- K 1KB=1024B  MB --M 1MB=1024KB  GB--G  TB 

各部分协同工作的功能完成。输入设备-存储设备(内存)–CPU–(运算器)—
存储设备(内存)–输出设备,外存

  • 软件

     系统软件   操作系统   驱动程序  应用软件   单机软件:记事本,计算器   网络软件:QQ、微信,王者荣耀 

程序

生活中的程序:完成一个任务而进行一系列有序的动作集
计算机中的程序:有序指令集,由计算机完成一个功能
编程语言:
机器语言:010100001111
速度快,可读性差,维护性好,可扩展性好
汇编语言:助记符 add a,b
可读性提高,接近硬件,速度相对较快
冗长程序。对计算机硬件组成要求高。
高级语言:接近人类语言
可读性、维护性和扩展性都很好。
速度相对较慢。
C\C#\Java\Python
解释语言:源代码–解释器–边解释边执行 Python ,JavaScript—【即时编译】
编译语言:源代码–编译器–可执行文件 C,Java —【文献翻译】

第二章、Python简介

为啥学Python?

很受欢迎,简单,应用领域广(办公自动化,web,数据采集、数据分析、人工智能、科学计算
算),
三个方向的基础课。
Python发展历程:
Python之父:Guido 吉多
推荐使用3.x版本

特点:

简单,优雅
跨平台,跨语言
强大的库
免费开源
解释型
应用广
交互型
支持面向对象:C#,Java,Python,JavaScript
面向过程:C

搭建环境


安装Python解释器
IDE:PyCharm

第三章、Python基础语法

3.1print输出函数

print('hello,python') #print()打印到控制台xxx #打印各种数据 print(123) print(3.5) print(True) print("人生苦短,我用python") #控制是否换行 end='' print("hello",end=' ') print('world') #转义字符 # 当我们输入回车等控制键时,Tab不能显示的字符可以使用 # \n 回车换行 # \t Tab键 ,相当于4个空间 print('a',end='\n') print('b') print('hello\npython') print('hellopython') print('hell\tpython') #\,',",只是想不转义,需要在前面添加\ print('\\') #输出\ print('\'') #输出‘
#以原字符的方式输出,前面r或R
print(r'\nbc')
print(r'E:\BaiduNetdiskDownload\hello beda音频')
#双引号中使用单引号,单引号中间使用双引号
print("小明对妈妈说:'我饿了'")
#python支持各种特殊符号
print('웃')
#以,号分隔,后面会讲其实是可变的位置参数,输出内容间会以空格分开
print('hello','python','java','c')

3.2注释

# 注释是来解释代码的,给程序员看的
# 解释器不处理,不会影响程序的效率
# 多多益善
# 分类:单行注释和多行注释
# 单行注释 :#+文字
print('hello') #控制台输出内容
# 多行注释 三个单引号或者三个双引号
''' 多行注释1 多行注释2 多行注释3 '''
"""
多行注释1
多行注释2
多行
""

3.3变量

我有20元钱,花了12元,问还剩多少钱?
变量的本质:就是内存中的一块存储空间
变量的作用:存储数据
变量简单的理解为程序中其值可以发生可变的量
变量三要素:
变量名:存储空间的名字,快速地找到其中的数据
数据类型:存储数据的类型,分配空间
变量值:存储数据
数据类型:
基本数据类型
数值型
整型:int
浮点型:小数 float
布尔型
bool—boolean
真True 假False
字符串型
str:0~多个字符组成的串 ,放在单引号或双引号或者三引号之间
选择数据类型:是否有运算需求,有的话选数值类型,没就是字符型
举例:余额:1000,000,000—float 身份证号,电话号码,密码–str

#数据类型
#整型 int
age = 16
print(age,type(age),id(age))
# 其它进制表示
i = 0b100 # 二进制0b开头
i2 =0o10 # 八进制0o开头
i3 =0x10 # 十六进制0x开头
print(i3,type(i3))
# float
price = 3.5
print(price,type(price))
price = 2
print(price,type(price))
#bool
flag = True
print(flag,type(flag))
#str
s1='hello'
s2=""
#三引号支持换行
s3='''h e l l o'''
s4=""" python, java, c """
print(s1,type(s1))
#个人信息
name = '张飞'
age = 45
print("我的名字是"+name)
print("我的年龄是"+str(age)) #字符串和数值不能直接拼接,需要使用str()将数值类型转换成str类print('年龄是',age)

复合数据类型/引用数据类型(后面讲到)
数据类型之间的转换
str() 把其它类型的数据转换成str

i = 12
f = 2.5
b = True
print('int转换后'+str(i),type(str(i)))
print('float转换后'+str(f),type(str(f)))
print('bool转换后'+str(b),type(str(b)))

int() 把其它类型的数据转换成int 结论:小数串和非数值串不能转换成int

f = 3.1
b = True
s1 = '12'
s2 = '12.5'
s3 = 'hello'
print(int(f),type(int(f))) #3 float类型转换成int,小数部分直接截断
print(int(b),type(int(b))) #False=0 True=1
print(int(s1),type(int(s1))) #12 整数串可以正常转换
#ValueError: invalid literal for int() with base 10: '12.5'
# print(int(s2),type(int(s2))) #小数串 转换成int,会报错
#ValueError: invalid literal for int() with base 10: 'hello'
# print(int(s3),type(int(s3))) #非数值串,不能转换成int

float() 把其它类型的数据转换成float 非数值串不能转换成float

i = 12
b = True
s1 = '12'
s2 = '12.5'
s3 = 'hello'
print(float(i),type(float(i))) #12.0
print(float(b),type(float(b))) #True=1.0
print(float(s1),type(float(s1))) #12.0
print(float(s2),type(float(s2))) #12.5
#ValueError: could not convert string to float: 'hello'
# print(float(s3),type(float(s3))) #非数值串,不能转换成float

bool() 把其它类型的数据转换成bool

i = 10
f = -1
s = ''
print(bool(i),type(bool(i))) # 0=False 其它都是True
print(bool(f),type(bool(f))) # 0=False 其它都是True
print(bool(s),type(bool(s))) # 空串是False ,其它都是true

总结:字符串拼接的时候,需要把其它类型转换成字符串,使用str()
数值计算的时候,需要把其它类型转换成数值,使用int()或float()
逻辑判断的时候,需要把其它类型转换成布尔,使用bool() —使用较少,后面会直接使用变量
来判断 变量名:
命名规范:
1、可以使用字母、数字 和下划线(_),不能以数字开头
2、不能使用关键字或保留字(创建python语言时,已占用了某些单词,已具有特殊的含义)
3、区分大小写 name Name
4、见名知意 name brand age price i
5、多个单词用_分隔 stu_name phone_price book_author
bookAuthor
输入输出
格式化输出
1、使用个数可变的位置参数
2、使用+连接符,+的左右均为str类型
3、%占位符:’’%()
4、{0}占位符:’’.format()
5、f’{变量名}’
输入
变量 = input(‘提示语:’)

第四章 运算符

4.1算术运算符

a = 3
b = 2
print(a+b)
print(a-b)
print(a*b)
print(a/b) #1.5 /数学中的除法
print(a//b) # 1 //整除(结果是整数)
print(a%b) # 1 % 模/求余
# 幂 2*2*2
print(2**3)
# ++ -- python中没有
# 今天周日,12天之后是周几?
weekday = int(input('今天周几?'))
weekday2 = (weekday +12) % 7
print('12天之后是周',weekday2)
print('-------------练习:分解整数--')
# %求余 可以拿到低位上的数字 //整除 可以拿到高位上的数字
# 分解两位数 34 十位是3,各位是4
num = 34
ge = num % 10
shi = num // 10
print(f'{ 
          num}的个位数字是{ 
          ge},十位数字是{ 
          shi}')
print()
## 分解三位数 456
num1=456
ge = num1 % 10
bai = num1 // 100
# shi = num1 // 10 % 10 # 45 6 -- 4 5
shi = num1 % 100 // 10 # 456-- 4 56--5 6
print(f'{ 
          num1}的个位数字是{ 
          ge},十位数字是{ 
          shi},百位数字是{ 
          bai}')

4.2赋值运算符

从右往左进行
支持链式赋值
解包赋值,左右两边个数要一致
复合赋值运算符:赋值+算术 += -= *= /= //= %=

# 从右往左进行
num = 12
num = num + 1
# num = input('请输入:')
print(num)
# 支持链式赋值
# a = 1
# b = 1
# c = 1
a = b = c = 1
print(a,b,c)
print(id(a),id(b),id(c))
# 解包赋值 左右两边个数要一致
# 交换两个数 m=5 n=3 ----》m=3 n=5
# 交换算法 temp
print('-------------')
m = 5
n = 3
temp = m
m = n
n = temp
print(m,n)
print('------------')
m = 5
n = 3
sum = m + n
m = sum - m
n = sum - n
print(m,n)
print('--------只在python中有效--------')
m = 5
n = 3
m,n=n,m
print(m,n)
# 复合赋值运算符 赋值+算术 += -= *= /= //= %=
print('-----------')
x = 2
x += 1 # x = x +1
print(x)

4.3关系运算符

表示两个变量之间的大小关系的

< >= <= == !=

# 关系运算符 关系表达式的结果是bool
a = 23
b = 12
print(a>=b) #True
print(a<=b) #False
print(a!=b)
print(a==b) # ==表示等于
# 通常不比较float数据,因为小数在内存存储不精确
print(1.1+2.2)
print(1.1+2.2==3.3) #False
# == 比较值
# in / not in 在/不在
print()
s = 'hello'
print('k' in s)
print('k' not in s)

4.4逻辑运算符

主要是连接多个条件(布尔表达式–关系表达式、布尔变量)
and 逻辑与:同真则真,遇假则假
or 有真则真,同假则假
not 取反

# and 同真则真,遇假则假
a = 8
b = 4
print( a >1 and b >2) # True and True
# or 有真则真,同假则假
print(a >10 or b >20)
# not 取反
print(not(a>1))
print(True or True and False)
#结果是True,所以and比or的优先级高

4.5位运算

按位与 &
按位或 |
异或 ^
左移
右移

# 位运算
m = 5
n = 12
print(m&n)
print(m|n)
print(m^n)
#结论:对一个数异或两次,就可以获取原数字本身
#交换两个数
print('------------')
a = 23
b = 12
temp = a ^ b #a^b==b^a
a = temp ^ a
b = temp ^ b
print(a, b)
print('-----------')
#>> 右移 相当于整除,右移1位相当于除以2 ,右移n位相当于除以2的n次方
print(5>>1)
print(5>>2)
#<< 左移 相当于乘法 左移1位相当于乘以2,左移n位相遇乘以2的n方
print(5<<1) # 10
print(5<<2) # 20

4.6运算符的优先级

小括号>算术运算>位运算>关系运算>逻辑运算>赋值运算
先运算 ,再比较 ,再链接,最后赋值
建议大家,把优先高的放在小括号中,这样的代码可读性好

f = not (35 > (3 << (1 + 1)))
print(f) #False

第五章 程序流程结构

5.1 算法

算法就是解决问题的步骤。
算法不唯一,但是有优劣。评价维度:时间复杂度,空间复杂度。
表示算法的方式有很多,最主要的一种就是流程图。
符号:圆角矩形 —程序的开始/结束
平行四边形–输入或输出
直角矩形–处理步骤(运算,赋值)
菱形—判断(布尔表达式)
流程线
计算机专家发现,不管多么简单或多么复杂的算法都可以由顺序结构,选择结构,循环结构组合而
成。

5.1 顺序结构

从左往右,从上往下依次执行
写出来的代码都会执行

5.2 选择结构 /条件结构

场景:需要做出选择/做出判断,才知道如何执行
1、单分支结构

if 条件:
代码块

语法:
1)条件:结果只要是布尔值就行,所以也叫布尔表达式。可以是变量,关系表达式,逻辑表达式
bool(变量)–0,0.0,空字符串、空字典,空集合,空列表等返回false,其它都返回true
2)代码块:可以是赋值,运算,流程结构等
3)python靠缩进表达代码的层次关系,缩进一般使用tab键
执行顺序: 先判断条件,如果条件为true,则执行代码块。否则不执行代码块
案例:

aply = input("笔试通过了吗?")
if aply == 'y':
print('明天参加面试')
# 输入三个数,求最大值
# a b c
# max=a
a = int(input('请输入一个数:'))
b = int(input('请输入一个数:'))
c = int(input('请输入一个数:'))
max = a
if max<b:
max=b
if max<c:
max=c
print('最大值是',max)

2、双分支结构
语法:

if 条件:
代码块1
else:
代码块2

执行顺序:先判断条件,条件为true,则执行代码块1,否则执行代码块2
案例:

# 模拟以下QQ登录
# 正确的账号:QQ :123456 密码:123
account = input("请输入QQ号:")
pwd = input('请输入密码:')
if account == '123456' and pwd == '123':
print('登录成功')
else:
print('账号密码不匹配')

简化写法:条件表达式

表达式1 if 条件 else 表达式2

执行顺序:条件为true,表达式的结果就是表达式1,否则整个表达式的结果就是表达式2

# 输入一个数,判断奇偶性
num = int(input('请输入一个整数'))
s = '奇数' if num%2==1 else '偶数'
print(s)
print('奇数' if num%2==1 else '偶数')
## 输入一个数,判断奇偶性
## 模拟取款,输入取款金额,如果余额够,显示余额;否则提示余额不足。

3、多分支结构
3.1 多重if结构
语法:

if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
else:
代码块4

执行顺序:先判断条件1,如果条件1为true,则执行代码块1
否则判断条件2,如果条件2为true,则执行代码块2
否则判断条件3,如果条件3为true,则执行代码块3
场景:一个维度连续区间的多路分支
案例:

# 给成绩评级 60以下差,60-80中 80-90良,90以上优
# 一个维度(成绩),连续区间
score = int(input('请输入成绩'))
if 0<score < 60: # 0-60
print('差')
elif score<=80: #60-80
print('中')
elif score<=90: #80-90
print('良')
else:
print('优')
# 或者
if 100>=score > 90:
print('优')
elif score>=80:
print('良')
elif score>=60:
print('中')
else:
print('差')

注:python中关系表达式允许连写0 练习

## 猜数游戏 输出结果:大了,小了,对了
## 根据年龄判断年龄段(0-6婴幼儿,6-12少年,12-18青年,18以上成年)

3.2 嵌套if结构
语法:

if 条件1if 条件2:
代码块1
else:
代码块3
else:
代码块2

执行顺序:
场景:多个维度的多路分支
案例:

# 超市活动 如果不是会员,消费满100打9折;如果是会员,消费满200打7折,不满200打8折。
# 根据会员及消费金额输出应付金额
# pass 什么都不做,只是一个占位符,代替需要写的语句
# 进行代码建构的时候,还不想写代码,可以使用pass先代替
isVip = input('是否是会员?')
sumMoney = int(input('请输入消费金额:'))
discount=1
if isVip=='y':
if sumMoney>=200:
discount=0.7
else:
discount=0.8
else:
#不是会员
if sumMoney>=100:
discount=0.9
print(f'应该支付{ 
          sumMoney*discount}')

3.3 switch在python没有

5.3 循环结构

场景:有重复做的事情(可以是一样的事情,也可以是有规律的事情)
循环的特点:
循环操作:重复在做的事情
循环条件:循环继续的条件,循环结束的条件
如果循环永不结束,就叫死循环。初学程序的时候,要避免死循环。
编码时,循环条件会借助循环变量来表达。
如,计数器count=0(循环变量的初始化) count+=1(循环变量的更新) count<=10(循环条
件)
5.3.1 while循环
语法:
循环变量的初始化
while 循环条件:
循环操作
循环变量的更新
特点:先判断,再执行
如果循环条件一开始就不成立,循环操作可能一次都不执行
适合循环次数不固定的情况
案例

# 输出10个*
# 循环操作:输出1个*
# 循环条件:count=1 count<=10
count = 11
while count<=10:
print('*')
count+=1
# 输出1-100之间的整数
# 循环操作:输出一个数 print(i)
# 循环条件:i=[1,100]
i = 1
while i<=100:
print(i)
i+=1
# 输出1-100之间的偶数
# 输出100-1之间整数
# 求和1-100
# 循环操作:1+2 +3 +4 +。。。+100 ---> sum+=num --累加求和
# 循环变量 num=[1,100] sum=0 就是存储每一次计算的和
print('--------------')
num = 1
sum = 0
while num<=100:
sum元器件数据手册IC替代型号,打造电子元器件IC百科大全!
          

相关文章