第4天:python的数据类型、用户交互以及基本运算符

2021年12月17日

*知识点回顾

1.注释

(1)单行注释

(2)多行注释

(3)快速注释:CTRL+/

①被注释的内容不会被执行

②方便阅读,有必要才注释

2.变量

2.1原则:先定义,在使用

“变量名 = 变量值”

2.2 变量名的命名规范

①不能以数字开头

②不能使用关键字

③不要使用内置函数名,会与原来的功能覆盖

④不拼音

⑤不用中文,要见名知义

3.定义一个变量发生的本质

①开辟了内存的空间

②将变量值放进去

③将内存空间地址绑定给变量名

4.使用一个变量

随着 变量名(找到)==》内存地址 ==》(找到)里面的数据

5.常量

​ 广大程序员约定纯大写字母为常量

一、基本数据类

(一)数字类型

1. int 整型 (整数)

​ 用来记录人的年龄、出生年份、学生人数等相关的状态。

age = 18
birthday = 1992
month = 10

ps:

​ 问:身份证号是整型吗?

​ 答:不是。身份证号有它自己的规范,前六位为地区,中间八位为出生年月日,最后一位有些人是字母,所以身份证不是整型。

python里边没有长整型之分,这是python做的优化

2. float 浮点型(小数)

​ 用来记录人的升高、体重、薪资等小数相关的状态。

height = 167.2
weight = 98.9

3. 数字类型的使用

​ ①数学运算

​ + - × /

a = 1
b = 2
c = a + b
print(c)  #运行结果:3

​ ②比较大小

a = 1
b = 2
print(a > b)  #运行结果:False

(二)字符串类型

​ 1. str string

​ 2. 描述性质的状态,姓名、性别等

​ 3. 用单引号、双引号、三引号(很大一串的时候用,即跨行可用)其中之一包裹起来的一串字符,引号必须成对出现

name = '孜孜淑淑者'
hobby = "跑步"
introduction = '''我是一个积极乐观向上的人
我喜欢打篮球,最喜欢的运动是跑步
我喜欢看书,看纸质版的书
我每天都有一大堆话想要说
最后,我爱学习,这是真的'''

ps:

​ 一对三引号跟在变量名的后边那就是字符串,如果什么都没跟,那就是注释(多行注释)

注意:

1. 引号的嵌套问题,单引号包含多引号,多引号包含单引号
name1 = '孜孜"淑淑'
name2 = "孜'孜淑淑"
name3 = '孜孜淑'淑'   #会报错
#正确方式
name3 = '孜孜淑\'淑'

'''
\ :是转义字符,将改符号的原本表示出来
'''
  1. 多引号可以写多行字符串

  2. 字符串的运算

    ①相加 ==》连接

    name1 = '孜孜"淑淑'
    name2 = "孜'孜淑淑"
    print(name1 + name2)  #会将两个字符串链接在一起
    #运行结果:孜孜"淑淑孜'孜淑淑
    

    这种方法效率比较低,不推荐使用

    ②相乘 ==》输出几遍

    name1 = '孜孜"淑淑'
    print(name1*3)  #运行结果:孜孜"淑淑孜孜"淑淑孜孜"淑淑
    

(三)列表list

1.作用

​ 按位置记录多个值,并且可以按照索引取指定位置的值。

​ 索引:索引从0开始的,0代表第一个,-1代表最后一个

2. 定义

​ 在[]内,用‘,’隔开的多个任意类型(不能放关键字,关键字不是内存;可以放函数名,打印结果为函数的内存地址)的值,一个值称为一个元素。

3.使用(注意:下标不可以越界)

①列表类型是用索引来对应值,索引代表的是数据的位置,从0开始计数

hobby = ['跑步','看书','篮球']
print(hobby[1])  #运行结果:看书

②列表可以嵌套:嵌套定义、嵌套取值

a = [1,'aaa',[1,2,[33,55]]]
print(a[2][2][1])
#运行结果:55

(四)字典dict

1.作用

​ 用来存多个值,每个值都有唯一的key(键)与其对应,key对value(值)有描述性功能,也叫键值对。

​ eg: 猫:一种会叫的动物

2.定义

​ 用{}内用逗号隔开的多个key:value

​ eg : person_info = {‘name’:‘Tony’,‘age’:‘18’}

3.使用

①字典类型是用key来对应值,key可以对值有描述性的功能,通常为字符串类型

​ 键:可以是bool型、不能是列表、字典,必须是不可变类型

​ 值:可以是任意类型,不能为空,可以为空值

②字典可以嵌套

​ 值可以是字典,键不可以是字典

语法:print(字典名 [ 键名 ] )

person_info = {'name':'Tony','age':18,'height':183.2}
print(person_info['name'])
#运行结果:Tony
student = [
    {'name': 'Tony', 'age': 18, 'hobby': ['play', 'read']},
    {'name': 'Sony', 'age': 28, 'hobby': ['music', 'run']},
    {'name': 'Kony', 'age': 38, 'hobby': ['sun', 'football']},
]
print(student[2]['hobby'][1])
#运行结果:football

pep8规范:CTRL+alt+L,如果没有遵守,则会出现黄色波浪线

(五)布尔类型 bool

1.作用

​ 用来记录真假两种状态 Ture=>真 False=>假

2.用处

​ 用来做判断,一般在流程控制中使用

is_ok = Ture
is_no = False

(六)None

​ 表示空、虚无,啥都没有,不是任意的数据类型

​ 例如:空字符串、空字典、空列表都不是None

a = ''
b = {}
c = []
print(type(a))  #<class 'str'>
print(type(b))  #<class 'dict'>
print(type(c))  #,class 'list'>

二、用户交互

(一)输入与输出

1.输入

  • 你给计算机数据
  • 语法:变量名 = input()
  • input():程序等在哪里,等你输入,然后会将输入的结果保存到变量名,不管你输入什么,它永远会将它理解为字符串

2.输出

  • 计算机给你数据

  • print():可以一次输出多个,用逗号隔开就行

    ​ eg:print(a,b ,‘我是字符串’,end=‘自定义以什么结尾’)

  • 输出到文件中:print(’沧海明月珠有泪‘,file=f)

3.交互的本质就是输入与输出

4.输出之格式化输出

(1)什么是格式化输出

​ 把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出

(2)为什么要格式化输出

​ 我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容

(3)格式化输出的方式

​ ①占位符方式

name = '孜孜淑淑'
print('%s爱python'%('孜孜淑淑'))  
#运行结果:孜孜淑淑爱python
print('%s爱python和%s运动'%('孜孜淑淑','run'))  
#运行结果:孜孜淑淑爱python和run运动
print('%(name)s爱python和%(hobby)s运动'%{'name':'孜孜淑淑','hobby':'run'})  
#运行结果:孜孜淑淑爱python和run运动

PS:

%10d:表示输出的整数的宽度至少为10

%20s: 表示输出的字符串宽度至少为20

​ ②使用位置参数

print('{}非常的喜欢{}和{}!'.format('孜孜淑淑', '看书', 'python')
#运行结果:孜孜淑淑非常的喜欢看书和python!

​ ③使用关键字参数或者字典(可以打破位置带来的限制与困扰)

print('{hobby2}和{hobby1}是{name}的最爱'.format(name='孜孜淑淑',hobby1='sing',hobby2='dance'))
#运行结果:dance和sing是孜孜淑淑的最爱

​ ④使用索引

print('{0}{1}{0}{1}{1}'.format('qq','微信'))
#运行结果:qq微信qq微信微信

⑤ 🔺 f 方式🔺推荐使用

name = '孜孜淑淑'
print(f'{name}喜欢python')
#运行结果:孜孜淑淑喜欢python

(二)基本运算符

1.算术运算符

2.比较运算符

3.赋值运算符

​ 赋值运算符用来把右侧的值传递给左侧的变量(或者常量);可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等

①增量赋值

a += 1

②链式赋值

a = b = c = 1

③交叉赋值

m,n = n,m

④解压赋值

nums=[11,22,33,44,55]

a,b,c,d,e=nums

解压赋值,等号左边的变量名个数必须与右面包含值的个数相同,否则会报错

但如果我们只想取头尾的几个值,可以用*_匹配

a = nums[1]

取尾
a,b,*_=nums
print(a,b)
# (11, 22)

取头
*—,a,b=nums
print(a,b)
#(44,55)

ps:字符串、字典、元组、集合类型都支持解压赋值

4.逻辑运算符

①and:两边都必须对,得到的结果才会使Ture,否则为False

a = 12>3 and 5>2   
print(a)
#运行结果:Ture

②or:两边有一边对,得到的结果就是Ture,否则为False

b = 2<1 or 5>2
print(b)
#运行结果为:Ture

5.成员运算符

某一个对象包含于另外一个对象则返回True

字符串,列表,元祖,字典,集合都支持成员运算,只有相同的数据类型可以用in 和 not in

①in

​ 判断 in 左边的是不是在右边的里面

print('1' in '123')
#运行结果:Ture

②not in

​ 判断 not in 左边的是不是不在右边的里面

print('5' not in '123')
#运行结果:Ture

三、总结

1.数据类型

  • int 整型

  • float 小数

  • 字符串

​ 如何定义:一对引号

​ 嵌套成对

​ 相加 相乘

  • 列表 索引

​ [元素,元素,…]

  • 字典

​ {key:value}

​ {}

​ [key]

​ key一般是字符串,不可变类型

​ 值随意

  • bool

    Ture False

2.用户交互

​ input()

​ 变量名 = input(‘提示信息’)

​ input接收进来的永远使str型的数据

3.运算符

​ and or not

​ in not in

​ +=

​ a,b,c=c,a,b

thon
print(‘1’ in ‘123’)
#运行结果:Ture


②not in

​	判断 not in 左边的是不是不在右边的里面

```python
print('5' not in '123')
#运行结果:Ture

说明:
1.本专栏为自己跟着CSDN博主「老杨玩python」的【python之路】专栏的原创文章学习的学习笔记,其内容与CSDN博主「老杨玩python」的文章相似,大家可以自己点击原文链接查看。
专栏链接:https://blog.csdn.net/weixin_43079274/category_10836520.html?spm=1001.2014.3001.5482
2.学习笔记有问题欢迎大家在留言区留言或者私信我哦。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值