Python编程语言学习笔记

目录

  • 1 书写格式
    • 1.1 程序框架格式
    • 1.1 注释
    • 1.2 保留字
  • 2 数据
    • 2.1 整数类型
    • 2.2 浮点类型
    • 2.3 复数类型
    • 2.4 数值运算符
    • 2.5 数值运函数
    • 2.6 数值类型转换函数
    • 2.7 math 库
    • 2.8 字符串
      • 2.8.1 字符串的表示
      • 2.8.2 字符串的区间访问
      • 2.8.3 字符串操作符
      • 2.8.4 字符串操作函数
    • 2.9 字符串类型的格式化 farmat() 函数
      • 2.9.1 连接不同类型
      • 2.9.2 对齐/填充
      • 2.9.3 千位分隔符
      • 2.9.3 小数精度截取
      • 2.9.4 输出不同进制整数类型
  • 3 程序的控制结构
    • 3.1 关系操作符
    • 3.2 逻辑操作符
    • 3.3 if 语句
      • 3.3.1 单分支语句
      • 3.3.2 二分支语句
      • 3.3.3 多分支语句
    • 3.4 循环语句
      • 3.4.1 for 语句
      • 3.4.2 while 语句
      • 3.4.3 break 和 continue
  • 4 函数
    • 4.1 简单函数
    • 4.2 含参函数
      • 4.2.1 可选参数
      • 4.2.1 可变数量参数
      • 4.2.3 参数的无序写法
    • 4.3 带返回值函数
    • 4.4 全局变量和局部变量
  • 5 组合数据类型
    • 5.1 序列
    • 5.1.1 字符串(str)
    • 5.1.2 元组(tuple)
    • 5.1.3 列表(list)
    • 5.2 集合
      • 5.2.1 集合(set)
    • 5.3 映射类型
      • 5.3.1 字典
  • 6 文件和数据格式化
    • 6.1 文件操作
      • 6.1.1 文件打开关闭
      • 6.1.2 文件读写

1 书写格式

1.1 程序框架格式

说明:Python 采用严格的<缩进>来表明程序的格式框架。

1.1 注释

格式:使用#号、双引号和单引号。
代码示例:

'''
这是一个多行注释
这三个点可以是三个单引号,也可以是双引号加一个单引号
'''
"""
多行注释也可以全是双引号
"""
import turtle   #这是一个单行注释
turtle.setup(650,350,200,200)

1.2 保留字

使用下述代码可以输出打印出python的保留字列表。
代码示例:

print(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 整数类型

进制种类 引导符号
十进制
二进制 0b或0B
八进制 0o或0O
十六进制 0x或0X

代码示例:

a = 10
a = -8
b = 0x5d
c = 0b11001100
d = 0o745621

2.2 浮点类型

代码示例:

e = 10.2
e = 50.0
f = 4.1e-5

注:

  • 浮点数使用必须带有小数部分,小数部分可以是‘0’
  • 浮点数运算,计算机只能提供15位数字的准确性。Python通过标准库 decimal 提供更准确的数字类型Decimal。

2.3 复数类型

定义:就是高中数学中 x2 = -1 求解得出的那个复数。复数类型中,实数部分和虚数部分都是浮点类型。
代码示例:

g = 12.4+4j
h = -3.6+5J
k = g.real # 获取实部
l = g.imag # 获取虚部

2.4 数值运算符

操作符 描述
x+y 求和
x-y 求差
x*y 求积
x/y 求商
x//y x除以y的整数商
x%y x除以y的余数,模运算
-x x的负数
+x x本身
x**y x的y次幂,即 xy

2.5 数值运函数

函数 描述
abs(x) x的绝对值
divmod(x,y) 以二元组形式输出(x//y,x%y)
pow(x,y[z]) (x**y)%z,[…]表示该参数可以省略
round(x[ndigits]) 对x四舍五入,保留 ndigits 位小数 ,round(x) 表示返回四舍五入的整数
max(x1,x2,…,xn) 求 x1,x2,…,xn的最大值,n没有限制
min(x1,x2,…,xn) 求 x1,x2,…,xn的最小值,n没有限制

2.6 数值类型转换函数

函数 描述
int(x) 将x转换为整数,x可以为浮点数或字符串
float(x) 将x转换为浮点数,x可以为整数或字符串
complex(re[,im]) 生成一个复数,实部为re,虚部为im,re可以是整数,浮点数或字符串,im 可以是整数或浮点数但不能为字符串

2.7 math 库

定义:math 库:包含了 π,e,∞;还包含向上/向下取整、返回x的阶乘、返回小数或整数部分、返回最大公约数、比较相似性等函数和求对数。三角函数运算、高斯误差函数,余补高斯误差函数,伽马函数等。

2.8 字符串

2.8.1 字符串的表示

代码示例:

a = '单引号表示'
b = "双引号表示"
c = '''三引号表示'''

字符串使用的是Unicode编码方式,因此也可以使用Unicode码值输出一些特殊字符。

2.8.2 字符串的区间访问

代码示例:

a = 'Python语言程序设计'
表示 输出 描述
print(a[0],a[3],a[8]) P h 程
print(a[3:8]) hon语言
print(a[::-1]) 计设序程言语nohtyP 反向输出
print(a[0:10:2]) Pto语程 2是步长
print(a[5:]) n语言程序设计
print(a[:8]) Python语言

2.8.3 字符串操作符

操作符 描述
x+y 连接两个字符串
x*n 复制n次字符串x
x in s 如果x是s的子串,返货True,否则返回False
str[i] 索引,返回第 i 个字符
str[N:M] 切片,返回第N到M个字符串,其中不包含M
x+y
x+y

2.8.4 字符串操作函数

函数 描述
len(x) 返回字符串的长度
str(x) 返回任意类型所对应的字符串形式
chr(x) 返回Unicode编码x对应的单字符
ord(x) 返回单字符对应的Unicode编码
hex(x) 返回整数x对应十六进制的小写形式字符串
oct(x) 返回整数x对应八进制的小写形式字符串
str.lower() 返回字符串的副本,全部小写
str.upper() 返回字符串的副本,全部大写
str.islower() 当字符串都是小写时,返回True,否则返回False
str.isprintable() 当字符串都可打印的,返回True,否则返回False
str.isnumeric() 当字符串都是数字时,返回True,否则返回False

2.9 字符串类型的格式化 farmat() 函数

格式: <模板字符串>.farmat(<逗号分隔的参数>)

2.9.1 连接不同类型

代码示例:

print("{}{}{}{}".format("红豆生南国,","春来发几枝。","愿君多采撷,","此物最相思。"))

运行结果:
输出:红豆生南国,春来发几枝。愿君多采撷,此物最相思。

2.9.2 对齐/填充

代码示例:

x = 'Python'
print("{0:30}".format(x))  #默认左对齐
print("{0:>30}".format(x)) #右对齐
print("{0:^30}".format(x)) #居中
print("{0:-^30}".format(x)) #居中并填充字符-

运行结果:
Python
Python
Python
------------Python------------

2.9.3 千位分隔符

代码示例:

a = 123456789
print("{0:,}".format(a)) 

运行结果:
123,456,789

2.9.3 小数精度截取

代码示例:

x = 12.36547
print("{0:.2f}".format(x)) # 保留两位有效数字,且四舍五入

运行结果:12.37

2.9.4 输出不同进制整数类型

代码示例:

x = 200
print("{0:b}".format(x)) # 二进制
print("{0:c}".format(x)) # Unicode
print("{0:d}".format(x)) # 十进制
print("{0:o}".format(x)) # 八进制
print("{0:x}".format(x)) # 十六进制

运行结果:
11001000
È
200
310
c8

注:由于该函数过于强大,此处不能够一一列举各种用法。

3 程序的控制结构

3.1 关系操作符

和C语言的几个操作符一样~

操作符 含义
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于

3.2 逻辑操作符

逻辑符 含义
X and Y
X or Y
not X

3.3 if 语句

3.3.1 单分支语句

格式:条件不用括号包含,最后注意有个冒号;

代码示例:

x = 200
if x < 100 :
    print("x小于100")

3.3.2 二分支语句

代码示例:

x = 1000
if x <= 100 :
    print("小于100")
else:
    print("x大于100")

3.3.3 多分支语句

代码示例:

x = 63
if x < 60 :
    print("不及格")
elif 60 <= x <70:
    print("及格")
elif 70 <= x <80:
    print("中等")
elif 80 <= x <90:
    print("良好")
elif x >=90:
    print("优秀")

注:上文有一个很神奇地方,它的条件语句可以像数学公式一样写70 <= x < 80

3.4 循环语句

3.4.1 for 语句

格式:
for <循环变量> in <遍历结构>:
····<语句块>

注:遍历结构可以是:字符串、文件、组合数据类型或range()函数等。

代码示例:

for i in range(10) :
    print("当前运行次数:"+ str(i) )

循环和else结合的用法:当循环正常执行完成后才执行else语句块中的内容

代码示例:

for i in range(10) :
    print("当前运行次数:"+ str(i) )
else:
    print("循环正常结束")

3.4.2 while 语句

格式:
while<条件> :
····<语句块>

代码示例:

while x < 5:
    print("当前运行次数:"+ str(x) )
    x = x+1
else:
    print("循环正常结束")

3.4.3 break 和 continue

break 用法和C语言中一致,用来跳出当前最内层循环结构,继续下面的语句代码。
continue 用法和C语言中一致,用来提前结束本次循环,跳过循环体中尚未结束的代码,然后开始下次循环。

4 函数

格式:
def <函数名>(<参数列表>):
····<函数体>
····return <返回值列表>

4.1 简单函数

代码示例:

#定义函数
def happy() :
    print("自定义子函数输出")
happy() # 调用函数

4.2 含参函数

代码示例:

#定义函数
def happy(name) :
    print("祝{}生日快乐!".format(name))
happy("LiMing") # 调用函数

4.2.1 可选参数

代码示例:

#定义函数
def addnum(a,b=5) :
    c = a+b
    return  c
print(addnum(1)) # 运行结果就是6

4.2.1 可变数量参数

代码示例:

#定义函数
def vfun(a,*b) :
    print(type(b))
    for n in b:
        a += n
    return a
print(vfun(1,2,3,5,7)) 
'''
运行结果是:

18
'''

4.2.3 参数的无序写法

代码示例:

#定义函数
def addnum(a,b) :
    c = a+b
    return  c
print(addnum(b=1,a=8)) # 这种写法可以不在乎参数顺序

4.3 带返回值函数

代码示例:

#定义函数
def addnum(a,b) :
    c = a+b
    return  c
print(addnum(1,2))
print(addnum(b=1,a=8)) # 这种写法可以不在乎参数顺序

函数可以返回0个,1个或多个返回值。当返回多个返回值的时候,多个值以元组类型保存输出。
代码示例:

#定义函数
def vfun(a,b) :
    return a,b+a
print(vfun(1,5))
'''
运行结果是:
(1, 6)
'''

4.4 全局变量和局部变量

  • 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放,如有全局同名变量,其值不变。
  • 简单数据类型变量在用global保留字声明后,作为全局变量使用,函数退出后该变量保留且值被函数改变。
  • 对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部可以直接使用并修改全局变量的值。
  • 如果函数内部真实创建了组合数据类型变量,无论是否有同名全局变量,函数仅对局部变量进行操作,函数退出后局部变量被释放,全局变量值不变。

5 组合数据类型

Python编程语言学习笔记_第1张图片

5.1 序列

定义:序列类型是一唯元素向量,元素之间存在先后关系,通过序号访问。

5.1.1 字符串(str)

详见 2.8 节

5.1.2 元组(tuple)

定义:一旦创建不能被修改,用于表达固定数据项、函数返回值、多变量同步赋值、循环遍历等;
表示方式:元组使用逗号和圆括号表示。
代码示例:

('cat','dog',123,0x5f)

5.1.3 列表(list)

定义:
  列表是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换长度无限制,元素类型多样
  列表可以通过[ ]表示,也可以通过list()函数将元组或字符串转化为列表。
代码示例:

Is = [425,"BIT",(10,"cs"),456]
is2 = list("Python程序设计基础")
print(Is)
print(is2)

运行结果:
[425, ‘BIT’, (10, ‘cs’), 456]
[‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘程’, ‘序’, ‘设’, ‘计’, ‘基’, ‘础’]

5.2 集合

5.2.1 集合(set)

定义:集合与数学概念中的集合类似。包含0个或多个数据项的无序组合。集合中的元素不可重复,元素类型只能是固定的数据类型,例如整数、浮点数、字符串、元组等。列表、字典和集合烈性本身都是可变数据类型,不能作为集合的元素。
代码示例:

s = {425,"BIT",(10,"cs"),456}
print(s)

5.3 映射类型

定义:
  映射类型是“键-值”数据项的组合,每个元素是一个键值对。即元素是(key,value),元素之间是无序的。键值对(key,value)是一种二元关系,源于属性和值的映射关系。
  键(key)表示一个属性,可以理解为一个类别或项目,值(value)是属性的内容,键值对刻画了一个属性和它的值。
  键值对将映射关系结构化,用于存储和表达

5.3.1 字典

格式:
{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>}
键值对的访问使用中括号<值> = <字典变量>[<键>]
代码示例:

dcountry={"中国":"China","俄罗斯":"Russia","法国":"France"}
print(dcountry["中国"])

代码示例:元素增删

dcountry={"中国":"China","俄罗斯":"Russia","法国":"France"}
dcountry["英国"]="England" #新增键值对
print(dcountry)
del dcountry["法国"]       #删除键值对
print(dcountry)

输出:
{‘中国’: ‘China’, ‘俄罗斯’: ‘Russia’, ‘法国’: ‘France’, ‘英国’: ‘England’}
{‘中国’: ‘China’, ‘俄罗斯’: ‘Russia’, ‘英国’: ‘England’}

6 文件和数据格式化

6.1 文件操作

6.1.1 文件打开关闭

格式:
文件打开:<变量名> = open(<文件名>,<打开模式>)
文件关闭:<变量名>.close()

打开模式 含义
‘r’ 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖
‘x’ 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
‘a’ 追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’ 二进制文件模式
‘t’ 文本文件模式,默认值
‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能

代码示例:

x = open('12.txt','r')
x.close()

6.1.2 文件读写

三种文件读取函数

函数 含义
line = fo.read() 读出整个文件的内容
line = fo.readline() 读出一行内容
line = fo.readlines() 读所有行,每行以元素形成一个列表

代码示例:

fo = open('C:\\Users\ZHAOBO\Desktop\短歌行.txt','rt')
line = fo.read()
print(line)
fo.close()

注:文本的编码方式需要是ANSI,中文才可以在运行窗口正确的显示出来!

三种文件写入函数

函数 含义
<文件>.write(s) 向文件写入字符串
<文件>.writelines(list) 将一个元素全为字符串的列表写入
<文件>.seek(offset) 改变文件操作指针位置:0-文件开头;1-当前位置;2-文件结尾

代码示例:

fo = open('C:\\Users\ZHAOBO\Desktop\短歌行.txt','w+')
ls = ["富强 ","民主 ","文明 ","和谐"]
fo.writelines(ls)
fo.close()

你可能感兴趣的:(学习笔记,python,学习,笔记)