3、python基本数据类型——旺仔

在这里插入图片描述

一、几个概念

1.1 表达式

  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
  • 表达式特点
    • 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
    • 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
  • 如图所示:1+2 就是一个表达式
    在这里插入图片描述

1.2 语句

  • 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
  • 如图所示:input为输入语句,print为打印语句
    在这里插入图片描述

1.3程序(program)

  • 程序就是由一条一条的语句和一条一条的表达式构成的。

1.4函数(function)

  • 函数就是一种语句,函数专门用来完成特定的功能

  • 函数长的形如:xxx()

  • 函数的分类:
    • 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
    • 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
    例如:
    在这里插入图片描述

  • 函数的2个要素
    • 参数
    • 返回值

1.5 pycharm 中的 debug 模式

历史的由来。
    1937年,美国青年霍华德·艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿行业,正式跨进“计算机”领地。
    为马克1号编制程序的是哈佛的一位女数学家葛丽斯·莫雷·霍波,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为排除程序故障的意思。
debug 的断点调试

断点调试,英文 breakpoint。
用大白话来解释下,断点调试其实就是在程序自动运行的过程中,你在代码某一处打上了断点,当程序跑到你设置的断点位置处,则会中断下来,此时你可以看到之前运行过的所有程序变量。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、 标识符

2.1 关键字

  • python一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
    在这里插入图片描述

2.2 标识符概念

2.2.1 概念:

  • 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等

2.2.2 组成:

  • 由26个英文字母大小写,数字 0-9 符号 _$

2.2.3 标识符的规则:

  • 1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
  • 2.Python中不能使用关键字和保留字来作为标识符

保留字 说明
and 用于表达式运算,逻辑与操作
as 用于类型转换
assert 断言,用于判断变量或条件表达式的值是否为真
break 中断循环语句的执行
class 用于定义类
continue 继续执行下一次循环
def 用于定义函数或方法
del 删除变量或者序列的值
elif 条件语句 与if else 结合使用
else 条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用
exceptexcept 包括捕获异常后的操作代码,与try,finally结合使用
exec 用于执行python语句
for 循环语句
finally 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用
from 用于导入模块,与import结合使用
global 定义全局变量
if 条件语句,与else,elif结合使用
import 用于导入模块,与from 结合使用
in 判断变量是否存在序列中
is 判断变量是否为某个类的实例
lambda 定义匿名函数
not 用于表达式运算,逻辑非操作
or 用于表达式运算,逻辑或操作
pass 空的类,函数,方法的占位符
print 打印语句
raise 异常抛出操作
return 用于从函数返回计算结果
try 包含可能会出现异常的语句,与except,finally结合使用
while 循环语句
with 简化Python的语句
yield 用于从函数依次返回值

2.2.4 命名方式

驼峰命名法

  • 小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,
    例如:myName、aDog
  • 大驼峰式命名法: 每一个单字的首字母都采用大写字母,
    例如:FirstName、LastName

下划线命名法

  • 不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,
    例如 get_url buffer_size

三、基本数据类型

  • 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值,如图例:
    在这里插入图片描述

3.1、整数和小数

  • 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
  • 小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float类型表示

3.2、布尔值和空值

  • 布尔: 只有2个值一个是True 一个是False
  • None常量:只有一个数值就是None 也就是空值

3.3、字符串

  • 字符串是由数字、字母、下划线组成的一串字符

注意
• 单引号或双引号不能混合使用
• Python中用一对双引号或者一对单引号包裹的内容就是字符串

在这里插入图片描述

  • 转义字符

转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
\t表示制表符
\n== 表示换行符
\\ 表示反斜杠
\ ’ 表示 ’
\ ''表示 ‘’

在这里插入图片描述

  • 长字符串

长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’

  • 作用1: 注释的作用
    在这里插入图片描述
  • 作用2: 保留格式
    在这里插入图片描述
  • 格式化字符串

第一种格式化字符串 拼串

# 拼串
a = 'abc'
b = 'def'
print(a + b)

第二种格式化字符串 参数传递

a = 'abc'
b = 'def'
print('b = ', b)

第三种格式化字符串 占位符
• %s 字符串占位
• %f 浮点数占位
• %d 整数占位

s = 'hello %s' % 'world'
print(s)
y = 'are'
x = 'you'
str1 = f'how {y}, {x}'
print(str1)

第四种格式化字符串 f’{变量}’
• str.format ()

# format  通过{}占位,然后用format把值传递进去
str2 = 'how {},{}'.format(y, x)
print(str2)

字符串的其他操作

  • len() 字符串的长度
  • max() 最大值
  • min() 最小值
  • split()分割字符串
  • join()拼接字符串
  • find()查找字符串
  • replace() 替换字符串
  • partition() 把字符串分割为三部分
  • 去空格
    • s.strip() 左右两边去空格
    • s.lstrip() 去左边空格
    • s.rstrip() 去右边空格
  • 字符串大小写
    • s.upper() 全部大写
    • s.lower() 全部小写
    • s.isupper() 判断是不是大写
    • s.islower() 判断是不是小写

四、变量

4.1、变量的概念

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。

4.2、变量命名规则

  • 变量名由字母、数字、下划线组成要符合标识符的命名规范
  • 数字不能开头
  • 不能使用关键字
  • 注意 : 两个对象相等和两个对象是同一个对象是两个概念
# 判断两个变量是不是同一个变量  判断的是他们的id是否相等
# 任何的整数在内存当中都是有固定的位置的,
a = 1
b = 1
print(id(a), id(b))

a = 12343454356456
b = 12343454356456
print(id(a), id(b))

d = [1, 2, 3]
c = [1, 2, 3]
print(d is c)  # 判断的是id
print(d == c)  # 判断的是值
print(id(d), id(c))

结果为:
在这里插入图片描述

4.3、变量的运算

  • 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型
    在这里插入图片描述

备注:因为在运算时,所有的值都被转换成二进制,所以会产生一些误差,不是错误。

五、课后作业

在这里插入图片描述
1.a,b= 6, 8我想让a=8 b=6我该怎么办?用2种方式实现

# 方法1:
a, b = 6, 8
print(a,b)
a = 8
b = 6
print(a,b)

结果如图:
在这里插入图片描述

# 方法2:
a, b = 6, 8
print(a,b)
c = a   #将a赋值给c,c保存a的值
a = b   #将b赋值给a, a的值被替换成b
b = c   #将c赋值给b.完成ab值的互换
print(a,b)

结果如图:
在这里插入图片描述
2.完成字符串的逆序以及统计
●设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
●打印出字符串长度
●使用切片逆序打印出字符串

a = input('请输入')
while len(a) > 30:
    print('您输入的字符数超过30,请重新输入')
    a = input('请输入')
print(len(a))
print(a[::-1])

运行结果如图:
在这里插入图片描述

知识点运用:
python 切片 ,字符串逆序
原始字符串 name = ‘abcdeABCDE’
说明:字符串下标从0开始,即第0个字符是a,第2个字符是c,类推
1:字符串长度 len(name) → → → 输出结果 10
2:name[2:7] →→→→→→ 取输出结果 ‘cdeAB’
注意:左包含,右不含 [起始位置:结束位置+1:步长]
3:全部字符串内容,每两个取一个(即隔一个取一个)
name[::2] →→→→输出结果 ‘aceBD’
4:从第4个字符串起,至第8个,每两个取一个(即d至D)
name[3:9:2] →→→→ 输出结果 ‘dAC’
5:**逆序 将字符串倒序排列 **
name[::-1] →→→→ 输出结果 ‘EDCBAedcba’
name[-1:0:-1] →→→→ 输出结果 ‘EDCBAedcba’
注:在此再引用九天小牛的一篇关于字符串函数用法的博客,感兴趣的小伙伴可以去看看,感觉写的特别详细 链接

3.要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
●用户名长度6-20,用户名必须以字母开头
●密码长度至少6位,不能为纯数字,不能有空格

运用知识点:
.isalpha() #检测字符串是否只由字母组成。是则为true
.isdigit() #检测字符串是否只由数字组成。是则为true
.isspace() #检测字符串是否只由空格组成。是则为true
逻辑与 :对于AND运算结果为True当且仅当两个操作数均为True 。
逻辑OR :对于OR运算,如果两个操作数中的任何一个为True则结果为True 。
逻辑非 :如果操作数为False则结果为True 。

while True:
    admin = input('请输入用户名:')
    admin_len = len(admin)
    admin_first = admin[0:1]
    if admin_len < 6:
        print('用户名账号长度小于6,请重新输入!!')
    if admin_len > 20:
        print('用户名账号长度大于20,请重新输入!!')
    if not(admin_first.isalpha()):
        print('用户名账号必须以字母开头,请重新输入!!')
    if (admin_len > 5) and (admin_len < 21) and admin_first.isalpha():
        break
while True:
    password = input('请输入密码:')
    if len(password)<7:
        print('密码长度需要大于6,请重新输入!!')
    if password.isdigit():
        print('密码不得为纯数字,请重新输入!!')
    for i in (password):
        pw_is = i.isspace()
        if pw_is:
            print('密码中不得含有空格,请重新输入!!')
            break
    if (len(password)>6) and not password.isdigit() and not pw_is:
        break
print('用户注册完成')

测试结果如下:
在这里插入图片描述
在这里插入图片描述

旺仔注

倔强的人走得最远,因为他们什么都不怕,只怕到不了终点。
有些状态,一生中大概就一次,不如把它发挥到极致。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值