Day4 与用户交互 + 格式化运算符 + 基本运算符

chsun12 / 2024-09-25 / 原文

今天首先对昨天学的进行了复习,由这个复习可以看出昨天的我是多么的水*-*,今天的话倒是学的挺充实的,因为没有像上节课的jupyter notebook那样的东西(这节课看下来还是挺牛的,但也没到非用不可的时候,继续放着吧)。今天主要学习了三大部分,与用户的交互,格式化占位符,基本运算符。与用户交互中,切记input()输入的内容默认是字符串,需要什么数据类型需要重新说明。格式化占位符中,主要是f-string最好用,很强,f后面字符串的大括号{}中可以进行许多操作(运算)。然后就是基本运算符了,都是一些很基础得东西,不再赘述。

继续加油!

目录
  • 昨日复习
    • 1.执行python程序的两种方式
      • 1.1交互式
      • 1.2命令行式
    • 2.变量
    • 3.命名规则
    • 4.两种定义方式
    • 5.常量
    • 6.注释
      • 6.1单行注释
      • 6.2多行注释
    • 7.内存管理
      • 7.1引用计数
      • 7.2垃圾回收机制
      • 7.3小整数池
    • 8.数据类型
      • 8.1数字类型
      • 8.2字符串类型
      • 8.3列表类型
      • 8.4字典类型
      • 8.5布尔类型
  • 1.与用户交互
  • 2.格式化输出
    • 2.1占位符格式化
    • 2.2 format格式化
    • 2.3 f-string格式化
  • 3.基本运算符
    • 3.1算术运算符
    • 3.2比较运算符
    • 3.3赋值运算符
    • 3.4逻辑运算符
    • 3.5 身份运算符
    • 3.6 python运算符优先级(了解)
    • 3.7链式赋值
    • 3.8交叉赋值
    • 3.9解压缩

昨日复习

1.执行python程序的两种方式

1.1交互式

优点:写一行翻译一行 缺点 :不能永久保存

1.2命令行式

优点:能永久保存 缺点:无法及时得到报错信息

2.变量

什么是变量? 描述世间万物变化的状态

变量的组成 :变量名 = 变量值,变量名用于接收变量值

print(变量名) = print(变量值)

3.命名规则

  • 具有某种意义
  • 只能以数字,字母,下划线组成,且投一个字符不能为数字(下划线)
  • 不能以关键字命名

4.两种定义方式

  • 下划线
  • 驼峰体

5.常量

固定不变的量,但是他是程序员约定俗成的规定,是为它实际上可以改变

6.注释

6.1单行注释

、# 后加注释内容

6.2多行注释

'''

sadaddsad

sdas

'''

7.内存管理

7.1引用计数

x = 257 # 引用次数为1

y = x # 引用次数为2

z = 257 # 1次

del y #x_257 1次

del z #x_257 1 ,z_257 0 触发垃圾回收机制

7.2垃圾回收机制

当一个变量值的引用计数为0的时候,python会自动回收该变量值的内存占用

7.3小整数池

[-5,256]

8.数据类型

8.1数字类型

整形 定义方式 height = 180 方法 +-*/

浮点型 定义方式 height = 180.5 方法 +-*/ %

8.2字符串类型

定义方式 name = ’nick‘ ,name = "nick" name = '''nick'''

方法 + \ *

8.3列表类型

定义方式 sun_hobby_list = ['chi','he','piao']

方法 索引取值

8.4字典类型

定义方式 sun_info = ['name':'sunch','hobby_list':['chi','he','piao']]

取值方式

8.5布尔类型

所有数据类型都自带布尔值,除了 False True None 空 0都是True

——————————————————————————————————————————————

1.与用户交互

  • input()输入 无论你里面输入什么,input接受的都是字符串
  • raw_input()是python2的语法,python3中会报错
  • python2中input与用户交互时必须要指定数据类型

2.格式化输出

  • 字符串可以拼接 用+号
  • 输出的时候可以用逗号个开不同的字符串,一个逗号输出时等于一个空格

2.1占位符格式化

  • % 可以占个位置给后面用,%s是字符串占位符,%d是数值占位符,如
name = "王卜语"
age = 21
height = 185
print("my name is",name,"my age is",age,"my height is",height)
# 第四行等价于
print("my name is %s, my age is %d, my height is %d"%(name,age,height))

2.2 format格式化

name = "王卜语"
age = 21
height = 185
print("my name is {}, my age is {}, my height is {}".format(name,age,height))
  • 后面format中的内容可以看做一个列表,若中括号中不输入数字,则默认从第一个开始,如果输入数字n,则代表这个位置取后面俩表中的第n+1(因为列表中索引从0开始)个值

2.3 f-string格式化

name = "王卜语"
age = 21
height = 185
print(f"my name is {name}, my age is {18}, my height is {height*10}")
  • 从f后面中的{}即为占位符,{}中可直接输入变量名,也可以进行运算,{}里面是很自由的,大部分都可填
  • 注意:.2f是保留两位小数(后面的用法)
  • f 换成大写 F 也行

3.基本运算符

3.1算术运算符

  • 1+1
  • 1-1
  • 1*1
  • 1/1
  • 1%1
  • 1//1

3.2比较运算符

  • > >=
  • < <=
  • == !=

3.3赋值运算符

  • a = 10

3.4逻辑运算符

  • and 和 对+对 = 对, 对+错 = 错
  • or 或 对+错 = 对, 错+错 = 错
  • not 非 not 对 = 错, not 错 = 对

3.5 身份运算符

  • is 比较的是 id
x = 257
y = 257
print(x is y)
print(x == y)
  • x is y 比的是地址
  • x == y 比的是大小

3.6 python运算符优先级(了解)

img

3.7链式赋值

  • x = 10 y = 10 z = 10,等价于 x,y,z = 10,10,10 等价于 x = y = z = 10

3.8交叉赋值

  • x = 10 y = 20 想让 x与y的值交换(好像跟c中初学的比大小换值差不多
  • 引入z , z = x(10) x = y(20) y = z(10) ➡ x = 20 , y = 10 等价于 x,y = y,x

3.9解压缩

hobby_list = ["eat","drink","piao","play","handsome","eat","drink","piao"]
# print(hobby_list[1])
# print(hobby_list[4])  如果我还是想输出第二个和第五个
_,hobby1,_,_,hobby2,*_ = hobby_list
print(hobby1)
print(hobby2)
  • 解压缩就是把列表中的值都赋给一个变量,不用一次一次去访问列表
  • 如果有很多的变量我们我只需要其中几个,其他位置的就需要用别的字符代替,一般用下划线_,
    • 这时还会有一个问题,如果连着很多下划线,那么效率还是很低,此时可以用*_来代替若干个下划线_
    • 那么*_代表多少个呢,这就不得不再次感叹python的强大了,你差几个它可以当几个