目录
这篇文章更详细一点
程序的基本编写方法
输入
- 文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等
- 输入是一个程序的开始
处理
- 处理是程序对输入数据进行计算产生输出结果的过程
- 处理方法统称为算法,它是程序最重要的部分
- 算法是一个程序的灵魂
输出
- 控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等
- 输出是程序展示运算结果的方式
程序语法元素分析
程序的格式框架
1) 缩进
严格明确:缩进是语法的一部分,缩进不正确程序运行错误
所属关系:表达代码间包含和层次关系的唯一手段
长度一致:程序内一致即可,一般用4个空格或1个TAB
2) 注释
单行注释:以#开头,其后内容为注释
# 这是单行注释
多行注释:以'''开头和结尾
''' 这是多行注释的第一行
这是多行注释的第二行 '''
命名与保留字
1) 变量
变量采用标识符(名字) 来表示,关联标识符的过程叫命名
可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
2) 命名
命名规则: 大小写字母、数字、下划线和中文等字符及组合
注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
3) 保留字
Python语言有35个保留字(也叫关键字
保留字是编程语言的基本单词,大小写敏感
所有的保留字,如下表所示:
表一 保留字
and | as | assert | break | class | continue |
def | del | elif | else | except | finally |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
or | pass | raise | return | try | True |
while | with | yield |
数据类型
1)整形
整形:int
2)浮点型
浮点型:float
3)布尔型
布尔型:bool
只有True和False,表示真假
4)复数类型(python特有的数据类型)
复数:complex
1.用实数加减(实数+j)来表示
a = 3-4j
2.用complex()函数来表示
a = complex(3,-4)
序列
访问模式
- 正向递增:从0开始
- 反向递减:从-1开始
相关操作
标准类型运算符,主要进行的是值比较、对象身份比较和布尔运算,具体使用在之后介绍,大概的运算符如下所示:
值比较
< | > |
<= | > |
== | != |
对象身份比较
is | is not |
布尔运算
not | and | or |
序列类型运算符,主要是一些序列特殊的运算符,具体如下所示:
x in s | x not in s | s + t | s * n, n * s |
s[i] | s[i:j] | s[i:j:k] | s[::-1] |
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
print(week[1], week[-2], '\n', week[1:4], '\n',week[:6], '\n',
week[::-1], '\n', week[-5:], '\n', week[1:-1], '\n', week[0:7:2])
输出结果如下所示:
['Tuesday', 'Wednesday', 'Thursday']
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
['Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
['Monday', 'Wednesday', 'Friday', 'Sunday']
序列类型转换内建函数,可以将序列的类型进行转换,主要有,list()、str()和tuple()。
序列类型其他常用内建函数,可以对序列进行操作,在序列中使用非常方便和频繁,利用得当可以使我们的代码更简洁,高效,如下所示:
enumerate() | reversed() | len() | sorted() |
max() | sum() | min() | zip() |
aStr = 'Hello, World!'
print(len(aStr)) #输出结果为 13
print(sorted(aStr))
#运行结果为 [' ', '!', ',', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r']
1)字符串
字符串:str
有引号引起来的就是字符串,单,双,三引号都行(与C有区别),具体代码如下所示:
s1 = "I'm a student"
print(s1)
s2 = "'hello " \
"world'"
print(s2)
s3 = r'd:\test\a.txt'
print(s3)
运行结果如下所示
I'm a student
'hello world'
d:\test\a.txt
序号:
- 正向递增:从0开始
- 反向递减:从-1开始
使用:
- 索引:<字符串>[M](取出第M个)
- 切片:<字符串>[M:N](取出第M,M+1个,但不到第N个)
- 重复:a*10
具体代码如下所示:
aStr = "Hello,World"
bStr = aStr[:6]+'python!'
count = 0
for ch in bStr[:]:
if ch in ',.!?':
count += 1
print(count)
print(bStr)
# 输出结果如下所示
#2 #程序中共有 2 个标点符号
#Hello,python! #字符串被替换
2)列表
列表:list(有序,可变)
定义:
1.直接定义
li = [1,13,3-4j,"abcd"]
2.赋值定义
[a,b,c]=[100,12,13]
3.联合
a=[100,12,13]
b=[1,2,3]
c=a+b
print(c)
运行结果:
取值:
访问下标:
a=[100,12,13]
b=a[0]
print(b)
运行结果:
删除:
1.删除元素
a=[100,12,13]
del a[0]
print(a)
运行结果:
2.删除列表
a=[100,12,13]
del a
print(a)
运行结果:
添加:
1.在末尾添加
a=[100,12,13]
a.append(1)
print(a)
运行结果:
2.任意位置
a=[100,12,13]
a.insert(1,3)
print(a)
运行结果:
3)元组
元组:tuple(有序,不可变)
定义:
1.直接定义
tp = ('a','b','c')
2.赋值定义
(a,b,c)=(100,12,13)
3..联合
a=(100,12,13)
b=(2,)
c=a+b
print(c)
运行结果:
注:当元组里只有一个元素时,末尾要加,
取值:
访问下标:
a=(100,12,13)
b=a[0]
print(b)
运行结果:
删除:
只能删除整个元组
a=(100,12,13)
del a
print(a)
运行结果:
转换:
通过 set() 函数转换为集合
4)集合
集合:set【无序,不可重复(去重)】
运算:
- 交集:&
- 并集:|
- 差集:-(保留左侧独有的内容)
a={100,12,13}
b={100,12,1}
c=a-b
print(c)
运行结果:
- 余集:^(去掉相同元素)
a={100,12,13}
b={100,12,1}
c=a^b
print(c)
运行结果:
转换:
通过 list() 函数转换为列表
5)字典
字典:dict
通过键值对存储数据(键具有唯一性)
定义:
1.直接定义
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
取值:
1.通过键名
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
b=a['a1']
2.通过get函数
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
b=a.get("a1",1)
print(b)
运行结果:
注:若是字典a中包含键"a1",则返回键"a1"的键值,若不包含键"a1",则返回1,若是不设置第二个参数,则默认返回None
更改:
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
a["a2"]=1
print(a)
运行结果:
添加:
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
a["a3"]=1
print(a)
运行结果:
删除:
1.删除元素
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
del a["a1"]
print(a)
运行结果:
2.删除字典
a = {"a1":"123","a2":"234","b1":"345","b2":"456"}
del a
print(a)
运行结果: