程序框架与简单数据类型

1 程序框架

1.1 缩进

定义:一行代码开始前的空白区域表达程序的格式框架

  • 格式明确:缩进是语法的一部分,缩进不正确程序运行错误
  • 表达所属关系:表达代码间包含和层次关系的唯一手段
  • 长度一致:Python要求在一个程序中的缩进长度一致
    在一个程序中,如果用四个空格来表示缩进,则
  • 用一个四个空格表示单层缩进
  • 用两个四个空格表示双层缩进

  • :缩进并非一定用四个空格表示,也可以用其他数量的空格表示,但在一个程序中缩进的长度要相同。

1.2 注释

**定义:**程序员用来标记程序功能以及提高程序可读性的一种方式

  • 用于提高代码可读性的辅助性文字不被执行
    **单行注释:**以#开头,其后内容为注释
    这是单行注释
    **多行注释:**以’’'开头和结尾,中间内容为注释
'''这是多行注释的第一行
这是多行注释的第二行'''

1.3 变量

命名规则:

  • 变量由大小写字母,数字,下划线,汉字组成
  • python变量大小写敏感
  • 变量不能与保留字相同
  • 变量首字符不能是数字
  • 应使用小写的python变量名

2 字符串(365+2)

三个操作符,六个常用函数,七个常用方法

2.1 字符串的定义

由0/多个字符组成的有序字符序列

2.2 字符串的表示

  1. 由一对单/双引号表示,仅表示单行字符串
#单行字符串
a='hello word'
b="统计学习"
print("{}和{}".format(a,b))

输出:
hello word和统计学习
2. 由一对三单/双引号表示,仅表示多行字符串

#多行字符串
c='''人生苦短
我学python'''
print(c)

输出:

人生苦短
我学python
  1. 若字符串本身存在引号该怎么表示
    • 转义符( \ ),让引号表示原来的意思
    • 用字符串中未出现的引号来表示字符串:
      1. 若引号中只出现了单/双引号,则用未出现的引号表示字符串
      2. 若引号中同时出现了单引号与双引号,则用三单/双引号表示字符串
print('i\'m student')
print("i'm student")
print('''idn'cnncin"cibb''')

输出:

i'm student
i'm student
idn'cnncin"cibb

2.3 字符串的使用

使用[]获取字符串中一/多个字符

2.3.1 字符串的序号

正向递增序号0 1 2 3 4 5 6 7
字符串这 是 字 符 串 的 序 号
反向递减字符串-8 -7 -6 -5 -4 -3 -2 -1

2.3.2 索引

返回字符串中单个字符
格式:<字符串>[M] 取出字符串中序号为M的字符

s='hello word'
s[3]

输出:
'l'

2.3.3 切片

返回字符串中一段字符
格式:<字符串>[M:N] 取出字符串序号为M到序号N的字符,取前不取后

s='helloword'
s[2:7]

输出:
'llowo'

2.3.4 切片的高级用法

  1. <字符串>[M:N:K] 从字符串序号为M到序号为N的子串中,以K为步长取出相应字符,从M位开始取(取M位但不能取N位),取前不取后
  2. <字符串>[:N]/[M:] 从字符串中取出字符,一直取到N位(N位不取)/从M位一直取到最后一个字符(M位与最后一个字符都取)
  3. <字符串>[::-1] 将字符串中字符逆序排列
s[1:6:2]
s[6:]
s[::-1]

输出:

'elw'
'ord'
'drowolleh'

2.4 字符串操作符

操作符及使用描述
X + Y连接两个字符串X和Y()
n * X / X * n复制n次字符串X
X in S如果X是S的子串,返回True,否则返回False
X="hello"
Y="word"
print(X+" "+Y)
print(4*X)
Y in X

输出:

hello word
hellohellohellohello
False

2.5 常用的字符串处理函数

函数及使用描述
len(X)返回字符串的长度
str(X)将任意数据类型转换为所对应的字符串形式
hex(t)/oct(t)将整数X的十六/八进制小写形式转换为字符串
chr(u)u为编码,即数字,返回所对应的字符
ord(x)x为字符,返回所对应的编码,即返回数字
print(len(X))
print(str(34499))
print(chr(10004))

输出:

5
34499

2.6 常用的字符串处理方法

方法及使用描述
str.title()/lower()/upper()以首字母大写/所有字母小写/所有字母大写 的方式显示每个单词
str.split()返回由被括号中的字符分隔字符串作为元素的列表
str.count(sub)返回子串sub在字符串中出现的次数
str.replace(old,new)返回一个字符串,所有old子串已被new子串所替换的字符串
str.center(width,fillchar)字符串根据设置的宽度(width)居中,fillchar为填充字符
str.strip()/lstrip()/rstrip()删除字符串两边/前面/后面 的空格
str.join(iter)返回为在iter变量除最后一个元素外每个元素后增加一个str
print("首字母大写{},所有字母小写{},所有字母大写{}".format(X.title(),X.lower(),X.upper()))
print(X.split('e'))
print(X.count('l'))
print(X.replace('l','v'))
print(X.center(20,'='))
a=' sdf '
print('删两边空格{},删前面空格{},删后面空格{}'.format(a.strip(),a.lstrip(),a.rstrip()))
a='@'
print(a.join('hello word'))

输出:

首字母大写Hello,所有字母小写hello,所有字母大写HELLO
['h', 'llo']
2
hevvo
=======hello========
删两边空格sdf,删前面空格sdf ,删后面空格 sdf
h@e@l@l@o@ @w@o@r@d

2.7 字符串类型的格式化

格式:str.format(<逗号分隔的参数>)
例:"{1}计算机{0}的CPU占用率为{2}%".format("2018-10-10","c",10)
print("{1}计算机{0}的CPU占用率为{2}%".format("2018-10-10","c",10))
输出:
c计算机2018-10-10的CPU占用率为10%

槽内部对格式化的配置方式

槽内部格式:{<参数序号>:<格式控制标记>}

格式控制标记(用的顺序也是一样的,后三个是数字类型特有的)描述
填充用于填充的字符
对齐<:左对齐,>:右对齐,^:居中对齐
宽度设定槽的输出宽度
<,>数字的千位分隔符
<.精度>表示浮点数小数部分的精度,即输出保留几位小数格式为<.n>
类型整数类型:b:二进制格式 c:字符 d:十进制格式 o:八进制格式 x:十六进制小写 X:十六进制大写 浮点数类型:e/E:采用科学计数法e/E表示浮点数 f:非科学计数法表示 %:以百分数形式表示
'{:=^20,.3f}'.format(3486.092738)

输出:

    =====3,486.093======

3 数字类型(368+1+2)

三个转换函数,六个运算函数,八个操作符+增强操作符+实部函数与虚部函数

3.1 整数类型

数学中的整数一致,可正可负,没有取值范围限制

整数的四种进制表示

  1. 十进制:100,99,20
  2. 二进制(以0b/0B开头):0b010,-0B010
  3. 八进制(以0o/0O开头):0o123,-0O567
  4. 十六进制(以0x/0X开头):0x9a,-0X89

3.2 浮点数类型

与数学中实数的概念一致,带有小数点及小数的数字

存在不确定尾数问题

这是由于计算机进行计算是利用二进制进行计算,但我们输入十进制数,计算机要先将十进制数转换为二进制数,然后再开始计算,计算完后,由于计算机只能精确到小数点后53位,体现在十进制数上就是小数点后16位,利用计算机进行计算的误差被控制在10-16之内,这就是不确定尾数

#不确定尾数示例
print(0.1+0.2)
0.1+0.2 == 0.3

输出:

0.30000000000000004
False

科学计数法

使用字母E/e作为幂的符号,以10为基数
格式:e 表示a*10b

4.3e-4

输出:
0.00043

3.3 复数类型

与数学中复数概念一致,但是用j表示复数单位

  • z.real:获得复数z的实部
  • z.imag:获得复数z的虚部
z=348-49.7j
print('实部:{},虚部:{}'.format(z.real,z.imag))

输出:
实部:348.0,虚部:-49.7

3.4 数值运算操作符

操作符及使用描述
x + yx加y
x - yx减y
x * yx乘y
x / yx除y
x//yx/y的整数商
-yy的负值
x % y返回x/y的余数
x ** yx的y次幂,当y小于1时,可开根号

增强操作符

格式: x+=y等价于x=x+y

混合运算

数值类型间可进行混合运算,生成结果为最宽类型
整数(最窄)–>浮点数–>复数(最宽)

123+4.0  #整数加浮点数为浮点数

输出:

127.0

3.5 数值运算函数

函数及使用描述
abs(x)求绝对值
divmod(x,y)等价于 (x//y,x%y),即同时输出整数商和余数
pow(x,y,[z])等价于 (x**y)%z,z可省略
round(x,[d])对x四舍五入,d为保留的小数位数,默认为0
max(x,y,z)返回x,y,z中的最大值
min(x,y,z)返回x,y,z中的最小值
x=15
y=4
z=3
print("x的绝对值:{}\nx与y的整数除与余数:{}\ny的z次幂:{}\n保留三位小数:{}\nmax:{}\nmin:{}".format(abs(x),divmod(x,y),pow(y,z),round(34.798,2),max(x,y,z),min(x,y,z)))

输出:

x的绝对值:15
x与y的整数除与余数:(3, 3)
y的z次幂:64
保留三位小数:34.8
max:15
min:3

3.6 数值转换函数

函数描述适用类型
int(x)将x变为整数,舍弃小数部分float
float(x)将x变为浮点数,增加小数部分int
complex(x)将x变为复数,增加虚部int float
x=12.345
y=34
print('转换成整数为:{:=^6x}\n转换成浮点数为:{:*<10.3f}\n转换成复数为:{:&>18}'.format(int(x),float(y),complex(x)))

输出:

转换成整数为:==c===
转换成浮点数为:34.000****
转换成复数为:&&&&&&&(12.345+0j)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值