第二讲 (第三章)基本数据类型

1.几个概念

表达式:一个类似于数学公式的东西,由数字,算符等组成

  • 表达式不会对我们的程序产生实质性的影响
  • 表达式可以对什么产生作用呢?在交互模式中可以自动将表达式进行输出,仅仅用于计算一些结果;如果想让表达式产生影响,需要将表达式变成语句;

语句:语法上自成单元的体系;

  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果;
  • 在程序中一般用语句完成某种功能;例如:print() input() 在交互模式中不一定会输出语句的结果
  • 代码块 在一个代码块中的程序或者都执行或者都不执行
  • pass 空语句,在一个代码块中,如果没有语句,会报错,需要一个语句进行占位;

程序:

  • 程序 :由一条一条的语句和表达式组成的, 按照一定的顺序执行 语句和表达式 表达式和语句构成程序中的最小单位

函数

  • 函数:比如 print 就是最简单的函数,作用:打印功能
  • 函数就是一个完成特定功能的语句
  • 形如 xxx()的 叫函数

函数的分类:

  • 内置函数(内建函数):python自带的函数
  • 自定义函数:def xxx();
  • 参数 ()中的内容是函数的参数,可以是1个,也可以是多个,多个用逗号隔开;
  • 函数不一定有返回值,不是所有的函数都有返回值,

2.标识符

python 语言的组成

  • 关键字
  • 标识符
  • 注释
  • 变量和数据
  • 语句
  • 函数
  • 序列
  • 以上内容为其他语言共用的内容,学习时需要按照这样的思想记住,编程思想都是一样的,语句不同但是表达的思想一样
  • 关键字:具有一些特殊功能的标识符,python内部使用了,我们就不能再使用了
  • 查看关键字:import keyword keyword.kwlist

标识符:

  • 开发人员在程序中定义的变量名 函数名 类名 不能是关键字名
  • 命名方式 驼峰命名法
  • 小驼峰 大驼峰
  • 小驼峰 myName myDog
  • 大驼峰 MyName MyDog
  • 下划线命名法: my_name my_dog

3.基本数据类型

数据类型

  • 数据类型 指的是变量值的类型,可以为变量赋哪些值,为了方便开发,数据类型的引入和引用,整数类型 int 小数类型:float
  • 整数:固定的,整数的最大值:如果计算结果超过计算机的最大值,就会报内存错误
  • 如果开发中遇到一个数字非常大,可以用_分开
  • 比如 c = 123_456_789 print© 依旧打印123456789
  • float 类型 10进制转化为2进制 表示时需要进制转化,然后可能会出现转换有差距,但是无限接近准确值

BOOL 值

  • 作用:做逻辑判断
  • True 和 False 是有数值的,True 为1 False 为0
  • BOOL值类型实际上也属于整型
  • 死循环 while True: while 1: 都是对的
  • Null 不存在 空值 不存在

4.变量

  • 内存中的一块区域,通俗的讲变量就是给数据起个名字
  • 两个对象相等 和两个对象是同一个对象是两个概念
  • 在这里插入图片描述
  • 两个对象不是相同的对象,所以ID是不一样的
  • 变量的运算

验证

  • 在验证阶段,我测试了普通变量(数字和字符串)发现,对普通的变量,其内容一致的时候,对应的ID也是一样的,说明用的是一块空间;而对列表,如果是通过l=m这种方式赋值的,其共用一块空间,改动一个另一个也会变动,但是,如果直接赋值的话,两者的空间不同
import keyword
import copy
print(keyword.kwlist)

a = 1
b = 1
print(id(a))
print(id(b))
#这样直接赋值的话,两个值共用的是1个空间
#如果令其中一个变了,其ID是变化的,另一个不变
a = 2
print(id(a))
print(id(b))
#普通变量用的是一个空间,
str1 = '1234567'
str2 = '1234567'
str3 = '123456'
print('id(str1)=',id(str1))
print('id(str2)=',id(str2))
print('id(str3)=',id(str3))

l = [1,2,3,4,5,6]
k = [1,2,3,4,5,6]
print('id(l)=',id(l))
print('id(k)=',id(k))
#列表用的不是一样的空间
m = l
print(m)
print('id(l)=',id(l))
print('id(m)=',id(m))
l.append(7)
print('l=',l)
print('m=',m)
l.sort(reverse=True)
print('l=',l)
print('m=',m)

#字典操作
dic_a = {'name':'lcy'}
print(dic_a)
dic_b = copy.deepcopy(dic_a)
print(dic_a)
print('dic_a id is',id(dic_a))
print('dic_b id is',id(dic_b))
#通过copy实现的深度拷贝也地址也是不同的

5 字符串

  • 什么是字符串
  • 注意 单引号和双引号不能混合使用
  • 单引号和双引号需要匹配,比如 ‘what‘s up’
    就会报错,相同引号之间不能嵌套 可以通过“what’s up!”
    如果不用这种方式,也可以用转义字符 以\ 开头,后跟一个或几个字符
    所以可以用反斜杠 \ ‘what’s up!’
    转义字符有很多 \t \n \(表示\ 转义转义符)
print('hello,world')
print('hello,','world')
c = 'hello,world'
print(c)
d = 'i\'m lcy'
e = "i'm lcy"
print(d)
print(e)
f = '大漠孤烟直,\n长河落日圆.'
print(f)
g = '大漠孤烟直,\t长河落日圆.'
print(g)
h = '大漠孤烟直,\\长河落日圆'
print(h)
i = 'c:\new.txt'
print(i)
j = 'c:\\new.txt'
print(j)
k = r'c:\new.txt'
#将转义视为字符
print(k)
l = r'i\'m lcy'#这样居然是可以的,先转义再让转义失效
print(l)

  • 或者使用r:表示单纯字符串,\表示\
  • dos = r’c:\news’ 此时不再转义
  • 长字符串 文档字符串 三个引号表示一个字符串,可以换行,可以保留字符串的格式
lcy = '''
单车欲问边,属国过居延。
征蓬出汉塞,归雁入胡天。
大漠孤烟直,长河落日圆。
萧关逢候骑,都护在燕然。
'''
print(lcy)

运行结果:
单车欲问边,属国过居延。
征蓬出汉塞,归雁入胡天。
大漠孤烟直,长河落日圆。
萧关逢候骑,都护在燕然。

作业:
练习代码:
• 课程作业
• 练习课堂中老师敲的代码
• a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
• print()语句练习,用两种方式打印 hello,python

课堂复习:
表达式:不会对程序产生实质性的影响
语句 会对程序产生影响
但是不一定会对程序的输出产生影响
程序 由语句和表达式构成的
pass语句 代码块
函数 xxx()
分类:内建函数和自定义函数
返回值和参数
标识符

  • 关键字 python定义的具有特殊功能的标识符

  • 标识符:开发人员在开发时定义的一些符合规则的名称,

  • 命名方式 驼峰命名和下划线命名

  • 基本数据类型

  • 整数常量和小数

  • 布尔型和空值

  • 变量

概念和引入
变量的运算
如果运算的过程中有浮点数,则返回的类型就是浮点型
变量 字符串

  • 字符串
    概念:
    单引号和双引号不能混用
    单引号 不能嵌套使用
    转义字符 \ \n \t \
    长字符串:
    文档字符串
    三引号表示一个长字符串

作业:
练习课堂中老师敲的代码

a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现

第一种方式: 通过中间量

a,b=6,8
print('a=',a,'b=',b)
t = a
a = b
b = t
print('a=',a,'b=',b)

第二种方式: 注:找的参考

a,b = 6,8
print('a=',a,'b=',b)
a = a+b
b = a-b
a = a-b
print('a=',a,'b=',b)
#这种方式很巧妙啊,a=a+b  b=a+b-b=a  a=a-b=a+b-a=b

print()语句练习,用两种方式打印 hello,python

print('hello,python')
print('hello,','python')
print('hello')
print('python')
#测试证明这样输出的是有换行的,所以这样是不满足要求的
c = 'hello,python'
print(c)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值