Python - 基本数据类型
1. 几个概念
- 表达式:
- 不对程序产生影响
- 语句:
- 用来实现某种功能的代码
- 代码块:
- 代码块中的语句要么执行要么不执行
- 比较特殊的语句:pass
- 程序:
- 由表达式和语句组成
- 函数:
- print()
- 函数是用来完成特殊功能的语句
- 形如 abc()
- 函数的分类:内建函数和第三方函数
- 多个参数之间用‘,’隔开
- 返回值return
2.标识符
- Python语言的组成
组成部分 | 作用 |
---|---|
关键字 | 具有一定特殊功能的标识符。 |
标识符 | 自定义的名称,尽量避免使用关键字。驼峰命名法(大驼峰,小驼峰),下划线命名法 |
注释 | 对程序内容的解释,方便理解 |
变量和数值 | 变量:一个可变参数。数值:变量对应的值 |
运算符 | 实现计算的一些功能性符号 |
语句 | 连贯的程序 |
函数 | 实现特定功能的,可复用的程序 |
序列 | 字符串、列表、元组、集合和字典 |
3.基本数据类型
- 指变量可以被赋予的数据类型
3.1 整数和小数
- 整数 :不能超过最大值,会溢出,可以用下划线‘_’分割过大数
- 小数: 运算不准确,浮点型会出现误差位
- 布尔值:true or false,false = 0 = 空,所有非空的都会被系统认为是true
4.变量
4.1 变量的概念
- 用来保存可变值的标识符
- 命名规则:
- 字母、数字、下划线
- 数字不能开头
- 不能用关键字
4.2 变量的运算
- 如果出现浮点型,结果就为浮点型
- 注意:两个对象相等不意味着两个对象相同,因为他们在计算机里边的空间不同
5.字符串
5.1 概念
- 用一对‘ ’或一对" "包含的就是字符串
- 引号总是成对出现
- 单引号和双引号在一组引号中不能共同使用
- 相同引号之间不能嵌套
5.2 转义符
- 反斜杠”\"开头
- \t 表示制表符:table
- \n 表示换⾏符
- \ 反斜杠
- ` 反引号
- * 星号
- _ 下划线
- {} 大括号
- [] 中括号
- () 小括号
- # 井号
- + 加号
- - 减号
- . 英文句号
- ! 感叹号
- 以下是\自动转义导致的错误
print('c:\news')
C:
ews
应当采用\双反斜杠注释掉后边反斜杠的功能,他就被视为一个普通的符号,不会和n发生转义。
print('c:\\news')
c:\news
5.3 长字符串
- 一对三重引号中的内容,可以保持格式,保持换行
5.4 格式化字符串
-
- 拼接字符串: ‘’ + ‘’
-
- 传递参数
-
- 占位符
%d 整数占位
%s 字符串占位
%f 小数占位
- 占位符的数量要与格式化参数的数量相一致
- 数量大于1时,用(元组)传入,用’,'分隔
s1 = '钢铁侠'
s2 = '葫芦娃'
a = f'Hello {s1},{s2}'
print(a)
这里的 f 表示转义,以前学过前边加 r 是原始字符串,不转义
可以用 {},或者 {0} 进行占位,{n}不能大于可传入的字符串数量,如果有三个字符串,那么 n ≤ 2
可以用 . format() 进行格式化, ()中的参数数量不能少于{} 的对数,如果有三对{}占位,就需要有三个传入字符串
字符串的其他操作
-
- 获取字符串的长度:len()
-
- 最大值、最小值:max(),min()
-
- 分割字符串:字符串.split(方式),()里是用来分割的字符,比如:’ ‘| ’,‘ |’:‘|’:’ | 等,返回值是个列表[ ] ;
-
- 拼接字符串:’方式‘.join(字符串),返回值是个字符串 ’ ‘
a = 'China,nihao'
print('a=',a)
b = '*'.join(a)
print('b=',b)
c = b.split('*')
print('c=',c)
# 列表到字母的连接会自动去掉列表的分隔符','
d = ''.join(c)
print('d=',d)
a= China,nihao
b= C*h*i*n*a*,*n*i*h*a*o
c= [‘C’, ‘h’, ‘i’, ‘n’, ‘a’, ‘,’, ‘n’, ‘i’, ‘h’, ‘a’, ‘o’]
d= China,nihao
-
- 去空格,去换行符:
- 去空格:
- 字符串.replace(r’\n’,’’)
- 字符串.strip() : 去掉左右两边的空格
- 字符串.lstrip() :去掉左边空格
- 字符串.rstrip() :去掉右边空格
- 去换行符:
- 字符串.replace(r’\r’,’’)
-
- 大小写
- 字符串.upper() : 全大写
- 字符串.lower() : 全小写
- 字符串.isupper() : 判断是否全大写
- 字符串.islower() : 判断是否全小写
6. 作业
# 作业
# 1. 521,XXX嫁给我好吗?
print('1.1' + '_ ' * 10)
name = 'python'
print('521,' + name + '嫁给我好吗?')
print('1.2' + '_ ' * 10)
print('521,%s嫁给我好吗?' % 'python')
print('1.3' + '_ ' * 10)
a = 'python'
print(f'521,{a}嫁给我好吗?')
print('1.4' + '_ ' * 10)
print('521,{}嫁给我好吗?'.format('python'))
print('1.5' + '_ ' * 10)
print('521,{name}嫁给我好吗?'.format(name='python'))
print('1.6' + '_ ' * 10)
from string import Template
text = Template('521,$name嫁给我好吗?')
print(text.substitute(name='python'))
print('2.0' + '_ ' * 10)
# 2. a,b,c三个值通过条件运算符获取最大值,最小值,
import random
# 在[0~127]范围定义a,b,c三个随机数
a, b, c = random.randint(0, 127), random.randint(0, 127), random.randint(0, 127)
print('a =',a ,'b =',b,'c =' ,c)
# 输出随机数对应的ASICII码
print(chr(a), chr(b), chr(c))
# 定义最小值d,最大值e
d, e = min(chr(a), chr(b), chr(c)), max(chr(a), chr(b), chr(c))
print(d, e)
# 输出ASICII码对应的数字
print('最小值 =',ord(d), '最大值 =',ord(e))
- 输出(由于采用随机生成a,b,c,所以每次运行输出结果不同,以下输出仅为参考)
字符串格式化.py
1.1_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
1.2_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
1.3_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
1.4_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
1.5_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
1.6_ _ _ _ _ _ _ _ _ _
521,python嫁给我好吗?
2.0_ _ _ _ _ _ _ _ _ _
a = 98 b = 40 c = 99
b ( c
( c
最小值 = 40 最大值 = 99
- 注1:
- CSDN的博客可以用html标签创造表格,比绘图法省事。
-
1.0 2.0 3.0 1.1 2.1 3.1 1.2 2.2 3.2 1.3 2.3 3.3
-
<th> 表头
-
<td> 非表头
-
<tr> 一行
-
<tbody> 表格主体
-
<table> 类型:表格
-
注2:
-
想输出什么特殊符号就在前面加 \
-
repr ( ) 可以以字符串的形式返回结果,可以看到空格‘ ’
-
ord ( ) 可以看ASIC代码值