基础--3、基本数据类型

#@[TOC](Grundlagen-grundlegende Datentypen)

一、Python语法

1、几个概念

1.1 表达式

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

1.2 语句

  • 一个语法自成体系的单位,它由一个词或句法上有关连的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
i = 6
if i > 5:  # 判断语句
    # 代码块
    print('hello world')  # 打印语句
    input('请输入')      # 输入语句
    print('hello world')

1.3 程序

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

1.4 函数

  • 函数就是一种语句,函数专门用来完成特定的功能
  • 函数长的形如:xxx()
  • 函数的分类:
    • 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
    • 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
  • 函数的2个要素
    • 参数
    • 返回值
print('hello world')  # 内置函数
input('请输入')      # 内置函数
print('hello world')
# 语法:xxx():
# def xxx():  自定义函数
#     pass

# 函数的参数
# 函数的返回值
print(max(1, 2, 3))

2、 标识符

2.1 关键字

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

2.2 标识符的概念

  • 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
    组成:由26个英文字母大小写,数字 0-9 符号 _$
    标识符的规则:
  • 1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
  • 2.Python中不能使用关键字和保留字来作为标识符
    命名方式
    驼峰命名法
  • 小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
  • 大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
  • 下划线命名法
  • 不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 get_url buffer_size
# python语言的组成
# 关键字  标识符  注释  变量和数值  运算符  语句  函数  序列
# not = 1
# print(not)


# 标识符 :开发人员在程序开发中自己定义的一些符号和名称
# 标识符的命名规则
# 大驼峰  MyName
# 小驼峰  myName
# 下划线  my_name

3、基本数据类型

  • 数据类型指的就是变量的值的类型,也就是可以为变量赋的哪些值。

3.1 整数与小数

  • 整数:所有整数。例如:a = 1 b = 10 c = 100 用int表示。
  • 小数常量:所有小数。例如:a = 0.1 b = 1.2 c = 2.3 用float表示。
# 整数  init类型
a = 1
b = 100
c = 123_456_789
print(c, type(c))
# 浮点数  float类型
a = 1.1
print(a, type(a))

3.2 布尔值与空值

  • 布尔:仲有两个值,一个是True、一个是False。
  • None常量:只有一个数值就是None,也就是空值。
# 布尔值   只有两个值, True和False   :逻辑判断   True相当于1, False相当于0
print(1+True)
print(1+False)
print(1 + '1')
print(1 + 'True')

打印输出结果:

Traceback (most recent call last):
  File "D:\PycharmProjects\基础班第11期\day-03\上课代码\基本数据类型.py", line 15, in <module>
    print(1 + '1')
TypeError: unsupported operand type(s) for +: 'int' and 'str'
2
1
# 空值   None   表示没有  表示不存在
a = None
print(1 + None)
print(a)

打印输出结果:

Traceback (most recent call last):
  File "D:\PycharmProjects\基础班第11期\day-03\上课代码\基本数据类型.py", line 21, in <module>
    print(1 + None)
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

3.3 字符串

3.3.1 什么是字符串?
  • 字符串是有数字、字母、下划线组成的一串字符。
  • 注:
    • 单引号活双引号不能混合使用
    • Python中用一对双引号或者一对单引号包裹的内容就是字符串。
# str 表示字符串,是一个关键字
a = 'sabd'
b = "sabd"
print(a is b)
a = 'sdkgjsdkgkd'
b = "what's your name?"
print(a)
print(b)

打印输出结果:

True
sdkgjsdkgkd
what's your name?
3.3.2 转译字符
  • 转译字符是一种特殊的字符常量。转义字符以反斜线“\”开头,后面跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
  • 总结:
    • \t 表示横向制表符
    • \v表示纵向制表符
    • \n 表示换行符
    • \ 表示反斜杠
    • ’ 表示 ’
    • \ ‘’ 表示 ‘’
# \   的作用
str1 = 'what \'s your name?'
print(str1)

# \\
a = 'c: \\news'
print(a)


# \t  的作用   横向制表符   四个空格 一个tab 的距离
str1 = '窈窕淑女\t君子好逑'
print(str1)



# \n  的作用  换行符   换行的作用
str1 = '窈窕淑女\n君子好逑'
print(str1)
# r''取消转义, 所有的字符都是原本字符的意思  ,原始字符串
a = r'c: \news'
print(a)

打印输出结果:

what 's your name?
c: \news
窈窕淑女	君子好逑
窈窕淑女
君子好逑
c: \news
3.3.3 长字符串
  • 长字符串:又叫文档字符串,我们使用三重引号来表示长字符串‘’‘ ’‘’
  • 三重引号可以换行,并且会保留字符串中的格式。
"""
注释的作用

"""

# 长字符串的作用
# 1. 注释的作用
# 2. 保留原始格式的字符串

str1 = """
        生命诚可贵,
        爱情价更高,
        若为金钱故,
        二者皆可抛。
       """

print(str1)

打印输出结果:

        生命诚可贵,
        爱情价更高,
        若为金钱故,
        二者皆可抛。
3.3.4 格式化字符串
  • 第一种:拼串
  • 第二种:参数传递
  • 第三种:占位符
    • %s字符串占位
    • %f浮点数占位
    • %d整数占位
  • 第四种:f’{变量}’
  • str.format()
# 格式化字符串
# 拼串
a = 'i love ' + '刘亦菲'
print(a)

# 参数传递
a = 'i love '
print(a, '刘亦菲')


# 占位符
a = 'i love %s' % 1
print(a)

# f''
b = '刘亦菲'
a = f'i love {b}'
print(a)

# format()占位
b = '刘亦菲'
a = 'i love {}'.format(b)
print(a)

打印输出结果:

i love 刘亦菲
i love  刘亦菲
i love 1
i love 刘亦菲
i love 刘亦菲
3.3.5 字符串的其他操作
  • len() 字符串的长度
  • max() 最大值
  • min() 最小值
  • split()分割字符串
  • join()拼接字符串
  • find()查找字符串
  • replace() 替换字符串
  • partition() 把字符串分割为三部分
  • 去空格
    • s.strip() 左右两边去空格
    • s.lstrip() 去左边空格
    • s.rstrip() 去右边空格
  • 字符串大小写
    • s.upper() 全部大写
    • s.lower() 全部小写
    • s.isupper() 判断是不是大写
    • s.islower() 判断是不是小写
a = 'python '
# len() 求取长度
print(len(a))

# max()  min()  按照ascii表格的值来比较大小
print(max(a), min(a))


# split(参数)  分割字符串  参数是你自己去指定分割的规则
a = 'i love 刘亦菲'
b = a.split(' ')
print(b)

# join() 拼接字符串
a = '123456'
b = '-'.join(a)
print(b)

# find()  结果就是这个字符串所在位置的下标(索引),是从0开始的
a = 'i love 刘亦菲'
print(a.find('my'))

# index 查找

# replace 替换
a = 'i love 刘亦菲'
b = a.replace('刘亦菲', '周慧敏')
print(b)

# partition
a = 'i love 刘亦菲'
b = a.partition('ve')
print(b)


# 切片
a = '123456789'
b = a[::-1]   # 左闭右开型  [开始位置:结束位置:步长]

print(b)

a.split()

打印输出结果:

7
y  
['i', 'love', '刘亦菲']
1-2-3-4-5-6
-1
i love 周慧敏
('i lo', 've', ' 刘亦菲')
987654321

4、 变量

4.1 变量的概念

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的讲变量就是给数据起个名字。
  • 变量的命名规则:
    • 变量名由字母、数字、下划线组成要符合标识符的命名规范
    • 数字不能开头
    • 不能使用关键字
      注:是两个对象相等和两个对象是同一个对象是两个概念
s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry':'Python'}
print(id(s1),id(s2))
print(s1 == s2)```
	

4.2 变量的运算

在这里插入图片描述
在这里插入图片描述

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

课后作业

  • 作业01:a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
'''
a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
'''
# 方法一:直接赋值
# a = 8
# b = 6
# 方法二:交换
a = 6
b = 8
c = b
b = a
a = c
print(a)
print(b)
  • 作业02:

完成字符串的逆序以及统计
• 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
• 打印出字符串长度
• 使用切片逆序打印出字符串

'''
2. 完成字符串的逆序以及统计
• 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
• 打印出字符串长度
• 使用切片逆序打印出字符串
'''
while True:
    str1 = input('请输入字符:')
    if len(str1) < 31:
        print('请重新输入字符!')
    else:
        print(len(str1))
        print(str1[::-1])

打印输出结果:

请输入字符:sl;kdvkjswbvik;jwbgijk;ebnik;jbzkl;jbkij;asb;jksdfdsf
53
fsdfdskj;bsa;jikbj;lkzbj;kinbe;kjigbwj;kivbwsjkvdk;ls
请输入字符:
  • 作业03:
    要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
    • 用户名长度6-20,用户名必须以字母开头
    • 密码长度至少6位,不能为纯数字,不能有空格
# 判断输入的字符串是否为纯数字的方法 变量.isdigit()语句
# 判断输入的字符串是否为纯字母的方法 变量.isalpha()语句
# 判断输入的字符串是否为数字与字符的组合 变量.isalnum()语句

'''
3. 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
• 用户名长度6-20,用户名必须以字母开头
• 密码长度至少6位,不能为纯数字,不能有空格
'''
while True:
    name = input('请输入用户名或账户:')
    password = input('请输入账户密码:')
    # 判断用户名或账户是否合法
    if len(name) < 6:
        print('您输入的用户名或账户小于6位,请重新输入!')
        continue
    elif len(name) > 20:
        print('您输入的用户名或账户大于20位,请重新输入!')
        continue
    elif not name[0].isalpha():
        print('您输入的用户名或账户首字母必须是字母开头,请重新输入!')
        continue
    # 判断账户密码是否合法
    if len(password) < 6:
        print('您输入的账户密码长度小于6位,请重新输入!')
        continue
    elif password.isdigit():
        print('您输入的账户密码不能为纯数字,请重新输入!')
        continue
    # print('恭喜您注册成功!\n您的账户:{} \n 您的密码:{}'.format(name, password))
    elif password != password.replace(' ',''):
        print('您输出的密码中存在空格等非法字符,请重新输入!')
    # 变量.replace(old, new, [max])。此方法用于字符串的修改,将字符串str中的字符old替换为新的new字符串,max是可选参数,可以写也可以不写,不写的情况下,表示将str中所有的old替换为new,写之后表示最大替换次数。最后将修改后的字符串给返回,他是有返回值的。
    # 此方法用在这里的意思是将new这个空置替换成空格值。如果输入的密码不等于语法使用后的密码,那么输入的密码中就存在空格。
    else:
        print('恭喜您注册成功!\n您的账户:{}\n您的密码:{}'.format(name, password))

打印输出结果:

E:\python\python.exe D:/PycharmProjects/基础班第11/day-03/作业/作业+03.py
请输入用户名或账户:111111
请输入账户密码:111111
您输入的用户名或账户首字母必须是字母开头,请重新输入!
请输入用户名或账户:k111111
请输入账户密码:1111111
您输入的账户密码不能为纯数字,请重新输入!
请输入用户名或账户:k111111
请输入账户密码:kghg kjkjkh
您输出的密码中存在空格等非法字符,请重新输入!
请输入用户名或账户:k111111
请输入账户密码:i111111
恭喜您注册成功!
您的账户:k111111
您的密码:i111111
请输入用户名或账户:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值