文章

Python基础

Python基础

Python基础

Python基础

Python 中的输出函数

print()函数

  • 此函数可以直接使用
  • 过程:向计算机发出指令,打印函数内的参数 -> 把代码编译成计算机能听懂的语言 -> 做出相应的执行,在控制台上输出结果

将数据输出到文件中

  • 所指定的盘符要存在

  • 使用 file= 输出的文件对象

  • fp = open('D:/text.txt', 'a+') -> a+表示 如果文件不存在就创建,存在就在文件内容的后面继续追加
    print('hello world', file= fp) -> 注意输出到的文件前面要用file=
    fp.close() -> 关闭文件流

标识符与保留字

// 查看关键字列表
import keyword
print(keyword.kwlist)

数据类型

  • 整数类型 -> int

  • 浮点数类型 -> float

    浮点数存储不精确性:使用浮点数进行计算时,可能会出现小数位数不确定的情况

    n1 = 1.1
    n2 = 2.2
    print(n1 + n2) -> 3.300000000000000003
    出现这种情况是因为 计算机采用二进制存储

    解决方案:导入模块 decimal

    from decimal import Decimal
    print(Decimal('1.1')+Decimal('2.2')) -> 3.3
  • 布尔类型 -> bool

  • 字符串类型 -> str

    称为不可变的字符序列

    可以使用单引号、双引号、三引号来定义

    str1 = 'pyhton1'
    str2 = "python2"
    str3 = '''python3'''
    	 = '''
    	 	python3
    	   '''
    注意:
    	单引号和双引号定义的字符串必须在一行
        三引号定义的字符串可以分布在连续的多行

数据类型转换

函数名作用注意事项例子
str()将其他数据类型转成字符串也可以用引号转换str(123) str('123')
int()将其他数据类型转成整数文字和小数类无法转化成整数int('123') int(9.8)
float()将其他数据类型转成浮点数文字无法转换成整数整数转换成浮点数,末尾为.0float('9.9') float(9)

python 中的注释

通常包括三种类型的注释:

  • 单行注释 -> 以 ’#’ 开头,直到换行结束

  • 多行注释 -> 将一对三引号之间的代码称为多行注释

  • 中文编码声明注释 -> 在文件开头加上中文声明注释,用以指定源码文件的编码格式

    # coding: gbk -> 中文编码声明注释

输入函数

输入函数 -> input()返回值是str类型

answer = input('你想要啥?')
-> 此时控制台就会输出‘钱’,类似于Java中的String.next()

运算符

print(1 + 1) # 加法运算
print(1 - 1) # 减法运算
print(2 * 4) # 乘法运算
print(11 / 2) # 除法运算
print(11 // 2) # 整除运算
print(11 % 2) # 取余运算
print(2 ** 3) # 幂运算
-------------------------------
取余运算 -> 一正一负要遵循 余数=被除数-除数*(这里的商向下取整,变相印证了整除运算) -> 9 % -4 -> 9-(-4)*(-3)
	print(17 % -5) -> 17-(-5)*(17/-5且向下取整) = 17-(-5)*(-4) = -3,控制台验证正确
整除运算 -> 一正一负,向下取整 -> 9 // -4 = -2.几,向下取整 = -3

赋值运算符

  • 执行顺序: 右 -> 左
  • 支持链式赋值:a = b = c = 20
  • 支持参数赋值:+=、-=、*=、/=、//=、%=
  • 支持系列解包赋值:a,b,c = 20,30,40
a,b = 20,30,40 -> 报错,因为左右变量的个数和值的个数不对应
 
交换值
a,b = 20,30
a,b = b,a
print(a,b) -> 30,20

比较运算符

对变量或表达式的结果进行大小、真假等比较

值得注意的是

== -> 对象 value(值)的比较

is, is not -> 对象的 id(标识)的比较

a = 10
b = 10
print(a == b) #True -> 说明a与b的值相等
print(a is b) #True -> 说明a与b的标识相等

![](https://typora-licodeao.oss-cn-guangzhou.aliyuncs.com/typoraImg/屏幕截图 2022-08-01 211909.jpg)

布尔运算符

  • and -> 两个运算数都为 True,结果才为 True
  • or -> 只要有一个运算数为 True,结果就为 True
  • not -> 取反
  • in -> 查看某个字符在不在字符串内,在为 true
  • not in -> 查看某个字符在不在字符串内,不在为 false

位运算符

数据转成二进制进行计算

  • 按位与 & -> 对应数位都是 1,结果才是 1,否则为 0

  • 按位或 | -> 对应数位都是 0,结果才是 0,否则为 1

  • 左移位运算符 << -> 高位溢出舍弃低位补 0左移可以看成向高位数走,所以高位溢出舍弃)

    左移一位(向高位走),相当于乘以 2

  • 右移位运算符 >> -> 低位溢出舍弃高位补 0右移可以看成向低位数走,所以低位溢出舍弃)

右移一位(向低位走),相当于除以 2

print(4<<1) #向左移动1位 -> 8
print(4>>1) #向右移动1位 -> 2

运算符的优先级

  1. 先乘除后加减,有幂运算先算幂运算
  2. 位运算
  3. 比较运算符
  4. 布尔运算
  5. 赋值运算

对象的布尔值

Python 一切皆对象,所有对象都有一个布尔值

获取对象的布尔值 -> 使用内置函数bool()

以下对象的布尔值为 false(类似 JavaScript 中的五大假值),除此外其余布尔值都为 true

  • False
  • 数值 0
  • None
  • 空字符串
  • 空列表
  • 空元组
  • 空字典
  • 空集合

多分支结构

score = int(input('输入成绩:'))
 
#多分支结构
if score >= 90 and score <= 100:
    print('优秀')
elif score >= 60 and score <= 89:
    print('良好')
else:
    print('不及格')

pass 语句

pass 语句什么都不做,只是一个占位符,用在语法上需要语句的地方

作用:搭建语法结构

#判断是否是会员
if answer == 'y':
    pass
else:
    pass

range()函数

  • 用于生成一个整数序列

  • 创建 range 对象的三种方式

    1.range(stop) -> 创建一个[0,stop)之间的整数序列,步长为1
    2.range(start,stop) -> 创建一个[start,stop)之间的整数序列,步长为1
    3.range(start,stop,step) -> 创建一个[start,stop)之间的整数序列,步长为step
  • 返回值是一个迭代器对象

    r = range(10)
    print(r) #输出 range(0,10),数值范围为[0,10)
    print(list(r)) #输出 [0,1,2,3,4,5,6,7,8,9], list(range对象)用于查看range对象中的整数序列
  • 所有 range 对象占用的内存空间都是相同的,只有当用到 range 对象时,才会去计算序列中的相关元素

  • in 与 not in 判断整数序列是否存在(不存在)指定的整数

print(10 not in r) #True
print(11 in r) #Flase

循环结构

  • while(判断 N+1 次,条件为 True 执行 N 次)
  • for - in
for 自定义变量 in 可迭代对象:
    循环体
 
for i in 'Python':
    print(i)
# 输出 P y t h o n
 
# 如果在循环体中不需要使用到自定义变量,可将自定义变量写为'_'
for _ in range(5):
    print('python')
# 输出 python*5