Python—基础(简单入门学习)

Python——基础

程序解释:
程序是由一组计算机能识别的指令和数据组成!进程是一组程序在内存中运行的实例

计算机冯诺依曼体系、组成:

  • CPU包含:运算器、控制器、寄存器、多级缓存
  • 运算器:处理数据
  • 控制器:控制程序的运行
  • 存储器:存放数据和指令
  • 输入和输出设备(Input、Output)

计算机处理的数据和指令用二进制数来表示,CPU按照顺序执行,首先计算机把要执行的程序和需要处理的处理放入主存储器(内存)中,然后按照顺序从主存储器中取出依次执行,执行完成放入到内存或者CPU的多级缓存中!

编程语言:

  • 编译型:把源代码转换成目标机器能够直接运行的CPU指令
  • 解释型:先把源代码转换成中间字节码,然后运行在解释器上。优点:跨平台容易,缺点:因为不是直接运行在CPU之上,所以性能会有一些损失!
    语言发展:非结构化—>结构化—>面向对象—>函数式

Python学习

一,基础语法:
表现类型:
数字:
int():整型,Python不区分长整型和整型,长度受限于内存大小
bool():布尔型,True和False表示;布尔类型是int类型的子类,可以表示为1或者0.
float():浮点数。
complex():复数。
str():字符串类型,如:’abc’
引号:

  • 单引号:用print()函数打印出来是字符串
  • 双引号:同单引号一样
  • 三单(双)引号:可以跨行并且可以在中间自由使用单引号、双引号。如果在字符串前面加上(r)或者(R),表示该字符串中的特殊字符串不做特殊处理!
    • 特殊字符:\ \t \r \n \’ \”

缩进:

  • Python使用缩进的方式表示层级关机
  • 建议使用4个空格

续行:

  • 在行尾使用(\)
  • 如果使用各种括号,认为括号内是一个整体,内部跨行不用(\)

标识符:

  • 一个变量名指代一个值,变量是数据存储的容器
  • Python可以使用字母、数字和下划线,开头不能使用数字,最好也不要使用下划线
  • 不能是Python的关键字,如:class
  • Python是大小写敏感
  • 变量赋值后,可以改变值得标识符

二,Python的语言类型
Python是动态语言,强类型!
动态语言:

  • 变量在使用之前不需要声明类型,通常变量的类型是被赋值的那个值的类型!

强类型:

  • 一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型。

三,运算符
重点:算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符(可以使用小括号改变执行顺序)

算数运算符:

符号解释
+加号,例如:print(1 + 1)=2
-减号,例如:print(2 - 1)=1
*乘法,例如:print(2 * 3)=6
/自然除法,例如:print(2 / 3)=0.6666666666666666
%取余数,例如:print(3 % 3)=0
//整除,例如:print(1 / 2),结果0,只取整数部分
同时取地板值,math.floor()
**幂运算,例如:print(2 ** 3)=8

位运算符:

符号解释
&位与,二进制相与,同为1时才为1
|位或,二进制相或,有一位为1就为1.
~取反,计算机把数值转换为二进制先按位取反,在取补码(符号位不变,其余各位取反最后加1)
^异或,当对应的二进制位相异时为1,相同为0
<<左移动运算符,高位丢弃,低位补0
>>右移动运算符

比较运算符(返回结果布尔值):

符号解释
==等于,比较对象是否相等
!=不等于,比较两个对象是否不相等
>大于,返回x是否大于y
<小于,返回x是否小于y
>=大于等于,返回x是否大于等于y
<=小于等于,返回x是否小于等于y

逻辑运算符:

符号解释
andx and y;如果x为False,x and y返回Flase,则返回y的值
orx or y;如果x为True,则返回x的值,否则返回y的值
notnot x;如果x为True,则返回Flase,否则返回True

赋值运算符:

符号解释
=简单赋值,x=20
+=加法赋值运算,x += y;x=x + y
-=减法赋值运算,x -= y;x=x - y
*=乘法赋值运算,x = y;x=x y
/=除法赋值运算,x /= y;x=x / y
%=取余赋值运算,x %= y;x=x % y
**=幂赋值运算,x = y;x= x y
//=取整数赋值运算,x //= y;x=x // y

成员运算符:

符号解释
in如果在指定的序列中找到值返回True
否则返回False
not in如果在指定的序列中没有找到值返回True
否则返回False

身份运算符:

符号解释
is判断两个标识符是否引用自一个对象,
例如:id(x)等于id(y)
is not判断两个标识符是否引用自不同的对象

四,计算机基础之原码,反码,补码
机器数:

  • 一个数在计算机中的二进制表示形式,叫做这个数的机器数
  • 机器数是带符号位,在计算机中用一个数的最高位存放符号,正数为0,负数为1

真值:

  • 因为第一位是符号位,所以机器数的形式值就不等于真正的值,为了区别,将符号位的机器数对应的真正数值称为机器数的真值

原码:

  • 原码就是符号位加上真值的绝对值,即用第一位表示符号位,其余位表示值,比如8位二进制,原码是人类最容易理解和计算的方式。

反码:

  • 正数的反码是其本身
  • 负数的反码是在其原码的基础上,符号位不变,其余个位取反

补码:

  • 正数的补码就是其本身
  • 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1(即在反码的基础上+1)

表示式:
由数字、符号、括号、变量等组合而成!

  • 算数表达式
  • 逻辑表达式
  • 赋值表达式

Python中内存管理

  • 变量无需提前声明,也不需要指定类型!
  • Python使用引用计数记录所有对象的引用计数
    • 当引用计数为0时,它就可以被垃圾回收GC

Python中程序控制语句

顺序语句:

  • 按照先后顺序一条一条执行

分支语句:
- 根据不同的情况判断,条件满足执行某条件下的语句

循环语句:

  • 条件满足就反复执行,不满足就退出当前循环

真值表:

符号解释
“”空字符串
“string”
0
>=1
<=1
()空元组
[]空列表
{}空字典
None

Python之基础语法

单分支语句:

if condition:
    代码块
condition必须是一个布尔类型,条件为True或者False;
例如:
    if 1 < 2:
        print("1 less than 2")

多分支结构:

格式:if ... elif ... else
if condition1:
    statement_block_1
elif condition2:
    statement_block_2
elif condition3:
    statement_block_3
.....
else:
    statement_block_n

例如:
1,判断一个数值在哪个区间?

# 判断一个数在哪个区间

# input函数用来做一个供用户输入
num = int(input(">>>"))

# 判断是否小于10
if num < 10:
    print("0--10")
# 判断是否小于100
elif num < 100:
    print("10--100")
# 判断是否小于1000
elif num < 1000:
    print("100--1000")
# 如果都不是就执行else
else:
    print("1000 The above")

分支嵌套语句:

if condition1:
    statement_block_1
    if condition2:
        statement_block_2
    else:
        statement_block_3
else:
    statement_block_4

例如:

# 判断一个学生成绩在A、B、C、D、E,或者不及格

# 请输入一个学生成绩,输入的字符需要int转换成数值类型
score = int(input(">>>"))

# 开始判断
if score < 80:
    if score < 70:
        if score < 60:
            print("Student achievement in E")
        else:
            print("Student achievement in D")
    else:
        print("Student achievement in C")
elif score < 90:
    print("Student achievement in B")
else:
    print("Student achievement in A")

课后练习:

1,输入2个数值,输出最大数值
# 判断2个数,输出最大数

# 输入2个数值
num1 = int(input("Num1>>>"))
num2 = int(input("Num2>>>"))

# if判断语句
if num1 > num2:
    print("num1 is upper")
else:
    print("num2 is upper")
2,判断3个数,输出最大数,不能准确判断有相同大小的最大数!

# 输入3个数值
num1 = int(input("Num1>>>"))
num2 = int(input("Num2>>>"))
num3 = int(input("Num3>>>"))

if num1 > num2:
    if num1 > num3:
        print("Num1 is upper")
    else:
        print("Num3 is upper")
else:
    if num2 > num3:
        print("Num2 is upper")
    else:
        print("Num3 is upper")
3,给定一个不超过5位的正整数,判断有几位
# 输入一个不超过五位的数
num = int(input(">>>"))

if num // 10000 > 0:
    print("is 5")
elif num // 1000 > 0:
    print("is 4")
elif num // 100 > 0:
    print("is 3")
elif num // 10 > 0:
    print("is 2")
else:
    print("is 1")

#解法二:
# 输入一个不超过五位的数
num = int(input(">>>"))

if num >= 1000:
    if num >= 10000:
        print("is 5")
    else:
        print("is 4")
elif num >= 10:
    if num >= 100:
        print("is 3")
    else:
        print("is 2")
else:
    print("is 1")

循环–while语句:

语法:
格式:
while condition:
    block
    重点:当condition为True即条件满足,进入循环体,执行block语句块。
# 打印10到1

# 定义一个变量
flag = 10

# 循环,条件flag不为假就可以继续循环,所以只要不是空集合,None,0都为True,而True就是可以进入循环
while flag:
    print(flag)
    flag -= 1

循环–for语句:

语法:
格式:
for Element in Iteratable:
block
重点:当可迭代对象中有元素可以迭代,进入循环体,执行block
# 打印1到10:
# 默认range函数是从0开始,一直到最后一个数减去1,也就是前包后不包。

# for i in range(0, 10):
#   print(i + 1)

for i in range(10):
    print(i + 1)

# 打印倒序10 到 1
for i in range(10, 0, -1):
    print(i)

循环continue和break语句:

continue:

  • 中断当前循环的档次执行,继续下一次循环
for i in range(10):
    # 用i与1相与,如果为真就continue退出本次不打印,否认就打印
    if i & 1:
        continue
    print(i)

break:

  • 终止当前循环
# 给出一个为0的计数变量
count = 0

# for循环1000以内,以步长为7的数
for i in range(0, 1000, 7):
    # 打印能被7整除的数
    print(i)
# 计数器没循环一次就加1
    count += 1
# 判断计数器是否大于20,如果大于20就直接退出整个for循环
    if count > 20:
        break
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值