03.python学习-基本数据类型
文章目录
一、基本概念
1. 表达式
表达式:
- 类似于数学公式,由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
特点:
- 表达式一般仅用于计算一些结果,单纯的表达式不会对程序产生实质性影响。
- 交互模式中,输入表达式,会自动输出表达式结果。
2. 语句
- 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
- 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果,如:
print()
input()
for xxx in yyy: a = 5
3. 程序
程序由一条条语句和表达式构成的。
有一定顺序。
4. 函数
完成特定功能的。 形如:xxx()
函数的分类:内置函数(内建函数)、自定义函数。
函数的返回值,不一定有返回值。
不是所有函数都有返回值。
def是函数前面的关键字,用来定义函数。
自定义函数,由程序员自己创建的函数。
xxx() 括号内为函数的参数,多个参数以英文逗号 , 隔开。
不同类型不加逗号会提示语法错误。
二、 标识符
python里的语法是固定的。
python语言的基础组成:
关键字、语法、注释、变量和数值、运算符、语句、函数、序列
1. 关键字
python官方用的,定义一些具有特殊功能的标识符。
def 定义函数 、for 循环…
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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. 标识符
开发人员自己定义的一些符号和名称。
比如变量名、函数名、类名、…
26个英文大小写、数字0-9、_、$
- 标识符规则:
- 标识符可以包含字母、数字、下划线、$符号,不能用数字开头。
- Python中不能使用关键字和保留字作为标识符。
- 命名方式:
- 驼峰命名法
- 小驼峰命名法:第一个单词小写字母开头;后面单词大写字母开头。
- 大驼峰命名法:每个单词大写字母开头。
- 下划线命名法:使用下划线连接每个单词。
- 驼峰命名法
三、 基本数据类型
数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值。
1. 整数和小数
整数:int类型、整数类型
小数常量,用浮点型float类型表示。
2. 布尔值和空值
布尔值:True、False
布尔值bool也是个特殊的整数类型。True相当于1,False相当于0
空值:None
空值就是一个值,空值常量为None。不是空字符串。
四、字符串
1. 字符串是什么
字符串是由数字、字母、下划线组成的一串字符
主要用来表达一段文字信息
注意:
- 单引号和双引号成对包裹的内容就是字符串
- 单引号双引号不能混合使用。
如果字符串内容中有单双引号,解决方法有:
- 可以更改外层包裹的引号。
- 或者使用转义字符 \ 进行转义。
- 或者在字符串前加 r 表示原始字符串。
- 或者使用 ''' ''' 三个引号,长字符串
2. 转义字符
转义字符是一种特殊的字符常量。转义字符以反斜线 \ 开头,后跟一个或几个字符。转义字符具有特定的含义,不同与字符原有的意义,故称“转义”字符
\' 表示单引号
\" 表示双引号
\\ 表示反斜杠
\t 表示制表符
\n 表示换行符
3. 长字符串
长字符串,即文档字符串。使用三重引号包裹内容。
三个单引号或三个双引号 成对的表示长字符串。
可以保留内容中换行等信息。
4. 格式化字符串
加法 + 用来做加法运算。
两个整数相加,即做加法运算。
两个字符串相加,即做拼接字符串。
字符串+整数,或提示类型错误。
可以先进行强转,将字符串转为数字,进行加法运算。或者将数字强转为字符串,进行拼接字符串。
拼接字符串有如下方法:
- 第一种: 格式化字符串,拼串
print('s = '+s)
- 第二种:通过函数之间传递参数
print('s = ',s)
- 第三种:通过占位符
符号 | 说明
-|-
%s | 字符串
%f | 小数
%d | 整数
s = 's = %s' % 'hello'
print(s)
s = 's = %s,s2 = %s' %('Hello','World')
print(s)
- 第四种:格式化字符串方式
s1 = 'iron man'
s2 = 'spider man'
a = f'hello {s1},{s2}'
print(a)
从python2.6开始,新增一种字符串格式化方式:str.format(),基本功能是使用{} 代替%,format() 后面可以接受不限数量的参数。
f'str {s1}' # 需要指定变量
'str {} {}'.format('a', 'b')
当花括号里没有值,或有数字0、1、2、3…时,使用str.format('str1', 'str2')
当花括号里有值,为变量时,使用f'str{a}'
f 不是关键词,是一种格式化字符串的语法。
# 通过占位符
str1 = '张三 %d 岁,%s 更大' % (11, '李四')
print(str1)
# 通过f格式化,需要设置变量,在变量使用之前设置变量,并赋值。
s1 = 22
s2 = '李四'
str2 = f'张三 {s1} 岁,{s2} 更大'
print(str2)
# 通过format格式化
str3 = '张三 {} 岁,{} 更大'.format(33, '李四')
print(str3)
总结字符串使用:
拼串方法
传参方法
占位符方法
f格式化方法
format方法
5.字符串的其他操作
字符串的常用方法:
名字 | 意义 |
---|---|
len()函数 | 返回字符串的长度,包含单个字符的数量 |
in、not in | 一个字符串是否包含在第二个字符串内 |
max() | 最大的值,当为字符串时,找最大的ASCII码值 |
min() | 最小的值,当为字符串时,找最小的ASCII码值 |
ord() | 取单个字符的ASCII码值 |
split() | 分割字符串,以括号内参数分割字符串,返回一个列表 |
join() | 拼接字符串,括号内为主字符串。 |
去空格: | |
s.strip() | 左右两边去空格 |
s.lstrip() | 去左边空格 |
s.rstrip() | 去右边空格 |
字符串大小写: | |
s.upper() | 全部大写 |
s.lower() | 全部小写 |
s.isupper() | 判断是不是全大写 |
s.islower() | 判断是不是全小写 |
>>> len('wangtiandi')
10
>>> a = 'wangtiandi'
>>> 'w' in a
True
>>> 'W' in a
False
>>> max('wangtiandi')
'w'
>>> max('I love China')
'v'
>>> ord('w')
119
>>> ord('a')
97
>>> ord('I')
73
>>> ord(' ')
32
>>> ord('i')
105
>>> ord('v')
118
>>> a = 'I love china'
>>> a.split(" ")
['I', 'love', 'china']
>>> a = 'abc'
>>> '-'.join(a)
'a-b-c'
>>> a.join('-')
'-'
>>> a.join('--')
'-abc-'
>>> a = ' Python '
>>> a.strip()
'Python'
>>> a.lstrip()
'Python '
>>> a.rstrip()
' Python'
>>>
>>> a = 'I Love China'
>>> a.upper()
'I LOVE CHINA'
>>> a
'I Love China'
>>> a.lower()
'i love china'
>>> a
'I Love China'
>>> a.isupper()
False
>>> a.islower()
False
>>>
五、变量
1.变量的概念
变量、数据、
定义一个数据,保存在内存当中。起个名字指向这个数据,这个名字名称就是变量名,需要符合标识符规范。这个数据就是字面量。
每个变量有 id、value、等信息
根据id可以判断两个对象是否是同一个对象。
两个变量的id一样,说明是同一个对象。
两个变量的value相等,说明是两个变量相等(不一定是同一个对象)。
== 判断两个对象的值是否相等
is 判断两个变量是否是同一个对象
2.变量的运算
和普通算术运算 一样,四则运算。
注意:
运算过程中含有浮点数,那么就返回一个浮点数类型。