Python学习第三课-基本数据类型

  • 一、基本概念
    • 1.1表达式
    • 1.2语句
    • 1.3程序
    • 1.4函数
      • 内置函数
      • 自定义函数
      • 参数
      • 返回值
  • 二、标识符
    • 2.1 关键字
    • 2.2标识符概念
      • 驼峰命名法
      • 下划线命名法
  • 三、数据类型
    • 3.1整数和小数
    • 3.2布尔值和空值
    • 3.3字符串
      • 3.3.1转义字符
      • 3.3.2长字符串
        • 3.3.2.1作用
        • 3.3.2.2格式化字符串
        • 3.3.2.3操作函数
  • 四、变量
    • 4.1 存储内容
  • 作业1
  • 作业2

一、基本概念

1.1表达式

表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合

1.2语句

1.3程序

相当于一个功能

1.4函数

查看函数 command+鼠标左键

def xxx():pass #占位,相当于完成函数

内置函数

内部已经有的函数

自定义函数

自己定义的函数

参数

a = input("请输入输入") #输入语句 ()的就是参数

返回值

函数执行的结果

二、标识符

2.1 关键字

查看关键字

#导入keyword 模块
import keyword
#显示所有关键字
keyword.kwlist

[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’,‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

2.2标识符概念

  • 组成
    标识符有字母、数字、下划线组成
  • 命名规范
    1. 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
    2. 标识符不能和 Python 中的保留字相同。
    3. Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。

例如,下面所列举的标识符是合法的:

UserID
name
mode12
user_age

以下命名的标识符不合法:

4word    #不能以数字开头
try          #try是保留字,不能作为标识符
$money #不能包含特殊字符

驼峰命名法

  • 小驼峰
    变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount; #变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。

常用于函数名。

  • 大驼峰
    大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等

下划线命名法

my_name

三、数据类型

3.1整数和小数

  • 整数(int)
  • 小数(float)

3.2布尔值和空值

  • 布尔:True和False
  • None常量:空值

3.3字符串

  • 数字、字母、下划线
  • 单引号,双引号成对的引号

3.3.1转义字符

转义字符 意义
\n 换行
\t 跳到下一个tab位置
\r 回车
r 保持原来字符串的效果
\ 转移还原本意。标识后面的一个字符不具有特殊意义

3.3.2长字符串

  • python里使用某个东西的规则
  • python里面使用的东西要么是python自带所拥有的的,那么你就可以用
  • 如果不是python所自带的。那么你必须先声明这个东西,你才可以用

3.3.2.1作用

  • 1.保持文本的格式的作用
  • 2.作为一个注释的作用
  • 字符串的表示 Str
  • ‘’‘ 三引号

3.3.2.2格式化字符串

  • 第一种格式化字符串,拼串
a ="a"
b ="b"
print(a+b)

结果

ab

  • 第二种格式化字符串,参数传递
  • 第三种格式化字符串,占位符
s="我爱你%s"%"china"
print(s)

结果

我爱你china

%s 字符串占位
%f 浮点数占位
%d 整数占位

  • 第四种格式化字符串f{变量}’
str.format ()
a ="中国"
s=f"我爱你{a}"
print(s)

我爱你中国

  • 第五种格式化字符串{}.format()’
a ="中国"
c="我爱你{}".format(a)
print(c)

我爱你中国

3.3.2.3操作函数

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

  • string.split(str="", num=string.count(str))
    以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+1 个子字符串
 string.partition(str)

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

a="我爱你中国"
print("max(str)结果为'{}'".format(max(a)))
print("min(str)结果为'{}'".format(min(a)))
print("string.split结果为'{}'".format(a.split('爱你')))
print("string.partition(str)结果为'{}'".format(a.partition('爱你')))

结果如下:

max(str)结果为’爱’
min(str)结果为’中’
string.split结果为’[‘我’, ‘中国’]’
string.partition(str)结果为’(‘我’, ‘爱你’, ‘中国’)’

str.join(sequence)

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );

结果如下:

a-b-c

str.index()

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

str1 = "this is string example....wow!!!";
str2 = "exam";
print(str1.index(str2))
print(str1.index(str2, 10))
print(str1.index(str2, 40))

结果如下:

15
15
Traceback (most recent call last):
File “/Users/mianhua/PycharmProjects/python/2021/2121年4月15日/01.py”, line 5, in
print(str1.index(str2, 40))
ValueError: substring not found

Python find()

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

str1 = "this is string example....wow!!!";
str2 = "exam";
print(str1.find(str2))
print(str1.find(str2, 10))
print(str1.find(str2, 40))

结果如下:

15
15
-1

四、变量

4.1 存储内容

  • id:内存地址
  • type :数据类型
  • value:值


作业1

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

def demo1(a,b):#创建临时变量 temp ,并将 a 的值存储在 temp 变量中,接着将 b 值赋给 a,最后将 temp 赋值给 b 变量。temp = aa = bb = tempprint('交换后a的值为: {}'.format(a),'交换后b的值为: {}'.format(b))
def demo2(a,b):a,b = b,aprint(a,b)
def demo3(a, b):a = a + bb = a - ba = a - bprint(a,b)
if __name__ == '__main__':demo1(6,8)demo2(6,8)demo3(6,8)

结果如下:

8 6
8 6
8 6

#update——实现输入任意整数,交换位置
a = int(input('输入a值: '))
b = int(input('输入b值: '))
def demo1(a,b):#创建临时是变量temp = aa = bb = tempprint(a,b)
def demo2(a,b):#交换位置a,b = b,aprint(a,b)
def demo3(a, b):#数学计算法,加法,乘法都可以a = a + bb = a - ba = a - bprint(a,b)
if __name__ == '__main__':demo1(a,b)demo2(a,b)demo3(a,b)

结果如下

输入a值: 123
输入b值: 456
456 123
456 123
456 123

#update——增加交互提示
a = int(input('输入a值: '))
b = int(input('输入b值: '))
print('初始 a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo1(a,b):temp = aa = bb = tempprint('交换后 a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo2(a,b):a,b = b,aprint('交换后 a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo3(a, b):a = a + bb = a - ba = a - bprint('交换后 a的值为: {}'.format(a), ',b的值为: {}'.format(b))
if __name__ == '__main__':demo1(a,b)demo2(a,b)demo3(a,b)

结果如下:

输入a值: 789
输入b值: 426
初始 a的值为: 789 ,b的值为: 426
交换后 a的值为: 426 ,b的值为: 789
交换后 a的值为: 426 ,b的值为: 789
交换后 a的值为: 426 ,b的值为: 789

#update——更新demo3为字符串切片法,之前的数据计算法,受限于输入的数据类型,无法处理字符串类型
a = input('输入a值: ')
b = input('输入b值: ')
print('初始 a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo1(a,b):#创建临时是变量temp = aa = bb = tempprint('临时变量法: a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo2(a,b):#交换法a,b = b,aprint('交换位置法: a的值为: {}'.format(a), ',b的值为: {}'.format(b))
def demo3(a, b):#a =a+bb =a.split(b)a =a.split(b[0])print('字符串切片法: a的值为: {}'.format(a[1]), ',b的值为: {}'.format(b[0]))
if __name__ == '__main__':demo1(a,b)demo2(a,b)demo3(a,b)

结果如下:

输入a值: abc
输入b值: xyz
初始 a的值为: abc ,b的值为: xyz
临时变量法: a的值为: xyz ,b的值为: abc
交换位置法: a的值为: xyz ,b的值为: abc
字符串切片法: a的值为: xyz ,b的值为: abc

作业2

完成字符串的逆序以及统计

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

测试字符串:

0123456789012345678901234567890123456789
0123456789

def demo():content=input('请输入字符串:')if len(content)>30:print('您输入的字符串长度大于30,请重新输入')demo()else:print('您输入的字符是:'+content)print('字符串长度是:'+str(len(content)))print('切片逆序打印为:'+str(content[::-1]))
demo()

结果如下

请输入字符串:0123456789012345678901234567890123456789
您输入的字符串长度大于30,请重新输入
请输入字符串:0123456789
您输入的字符是:0123456789
字符串长度是:10
切片逆序打印为:9876543210

Python学习第三课-基本数据类型相关推荐

  1. Python基础第三课-基本数据类型

    Python基础第三课-基本数据类型 1.几个基本概念 1.1 表达式 1.2 语句 1.3 程序(program) 1.4 函数(function) 2.标识符 2.1 关键字 2.2 标识符概念 ...

  2. Python学习第七课-元组字典集合

    Python学习第七课-元组&字典&集合 一.元组 1.1元组简介 1.2元组的拆包 1.3字符串拆包 1.4列表的拆包 1.5拆包练习 二.字典的简介 2.1介绍 2.2操作 三.字 ...

  3. python列表和字典_2020/11/18 python学习第5课 列表和字典

    python学习第5课 列表和字典 课程目标 熟练掌握列表.字典中元素的增删改查 理解列表和字典的区别 课程难点 列表与字典增删改查的异同 正确使用切片,深刻理解切片时冒号左右数字的意义 课程知识点总 ...

  4. Python学习第六课-列表

    Python学习第六课-列表 一.序列 1.1 概念 1.2分类 二.列表 2.1 概念 2.2 练习 三.切片 3.1 可切片对象的索引方式 3.2切片操作 3.3 练习 四.通用操作 4.1 序列 ...

  5. JavaScript学习 第三课(三)

    JavaScript学习 第三课(三) 学习内容 一.日期和时间对象 二.日期和对象常用的方法 三.修改日期和对象常用的方法 四.将日期和时间转化为字符串 五.日期时间对象的比较 一.日期和时间对象 ...

  6. Python学习笔记三之编程练习:循环、迭代器与函数

    Python学习笔记三之编程练习 1. 编程第一步 # 求解斐波纳契数列 #/user/bin/python3#Fibonacci series:斐波那契数列 #两个元素的总和确定了下一个数 a,b= ...

  7. python学习(三)scrapy爬虫框架(二)——创建一个scrapy爬虫

    在创建新的scrapy爬虫之前,我们需要先了解一下创建一个scrapy爬虫的基本步骤 第一步:确定要爬取的数据 以爬取豆瓣电影数据为例: 每部电影所要爬取的信息有: 片名:<头号玩家> 导 ...

  8. 1、Python学习笔记第一课:python介绍

    python学习第一课 python介绍: 1.python是一种解释性,面向对象语言. 2.特点: (1):可读性强: (2):简洁,生产效率高: (3):面向对象: (4):免费和开源: (5): ...

  9. 0.0 目录-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

最新文章

  1. Nature:何胜洋和辛秀芳组发表植物叶际微生物组稳态机制
  2. Struts2 关于返回type=chain的用法.
  3. 【框架设计】健康养老云平台
  4. 唱歌如何保持高位置_歌唱中如何找到声音的高位置,内容详解
  5. sqoop把mysql数据导入hive
  6. java nslookup_nslookup使用教程
  7. 一个小例子搞懂redux的套路
  8. 谁说AI看不懂视频?
  9. 字节跳动在京斥资50亿购置新大楼:数千名员工已入驻
  10. 服务器保持与Mysql的连接
  11. Android旅游APP类项目源代码
  12. access转换MySQL教程,如何将Access数据库转换为SQL Server
  13. pr如何处理音效_PR剪辑如何让视频声音更好听
  14. U盘不显示文件但有内存
  15. js会员头像上传拖动处理头像类
  16. Windows搭建局域网Git服务器
  17. android彩信数据字段
  18. 如何用python输出九九乘法表_如何用python输出99乘法表
  19. sql语句利用into outfile写入一句话
  20. Javascript中的Number

热门文章

  1. Writeup-北邮新生赛MRCTF-Crypto题:keyboard
  2. c语言万年历制作落差,用C语言制作万年历
  3. verilog仿真读取十进制数据的方法
  4. java的workspace_Eclipse 工作空间(Workspace)
  5. JS中常用的键盘事件与keycode属性
  6. 出口押汇,打包贷款,福费廷,再贴现的区别
  7. 燕十八PHP高性能架构班之mysql优化教程
  8. 解决因缺少d3dx9_31.dll程序无法运行启动问题
  9. 微信小程序-- button按钮详解
  10. 终于有了一个人人可以访问的网站了