Python学习总结

发布时间:2024年01月14日

一.变量命名

1.只能由数字,字母和“_”构成

2.不能由数字开头

3.名字不能与关键字重合

4.Python区分大小写

5.变量命名要做到见名知义

二.各种符号

(一).运算符号:

+ - * /  # 加减乘除
%  # 取余
//  # 向下取整

(二).关系运算符

> < == >= <= != # 大于 小于 等于 大于等于 小于等于 不等于
<> # 比较两个数是否不相等

:关系表达式的结果为布尔值

(三).逻辑运算符

and  # 与
or  # 或
not  # 非

(四).赋值运算符

=  # 基本的赋值运算符
+= -= *= /=  # 运算后再赋值
**=  # 幂运算后赋值
%=  # 取余后赋值
//=  # 向下取整后赋值

(五).其他

#  # 单行注释
‘’‘
’‘’   #多行注释
\  #转义字符
in 
not in #判断是否在序列中

三.数据类型

(一).基本数据类型

python基本数据类型的转化

1.int

整数的进制表示:

x = 0b1011 #二进制
y = 0o15 #八进制
z = 0x2f #十六进制

进制:二进制(binary)八进制(octonary)十进制(decimal)十六进制(hexadecimal)

2.float

(1).科学计数法表示
x = 1.2345e3 # e前的数乘上10的e后的数次方(即1.2345*10**3)
y = 1.2345E3 # e也可以大写
z = 1.23e4-5 
a = 1.23e-4 # 注意e后要有数,无数为复数类型

3.bool

1.逻辑表达式的结果为布尔值

2.空值和0为False

4.complex

complex(a,b)  # a+bj

(二).序列型数据

字符串,列表,元组,

序列行数据可进行遍历操作(除了集合,因为集合无序)

索引为[0,1,2,3,4,5,6,7,8,9,…]

字符串比较大小:

按位比较阿斯克码值的大小,若在某一位比较出来了,则不再向后比较

遍历方法

for i in range(len(s))
	print(s[i])
for i in s
	print(i)

切片操作

s[a:b:c]

1.a为切片起始数据的索引,b为切片末尾的后一位索引,c为步长

2.a默认为0,即第一位,b默认为最后,c默认为1

3.切片为左闭右开

1.字符串

(1)一些操作

1.s.lower() s.upper() 将所有字母转为大写或小写

2.s.split(sep=‘’) 返回用sep分割的字符串(字符串默认为空格)

3.s.replace(s1,s2) s1和s2交换位置

4.s.strip(x) 在头尾移除制定字符(默认为空格)

5.a.join(s) 在字符之间加入a

6.s.ljust(n,”a”) s.rjust() s.center() n为字符串长度,a为补的符号

7.判断字符串:

? 1.isidentifier

8.格式化输出字符串:

print('Grade is %s'%A)

1.常用格式字符表达式:

? %s 输出字符串

? %c 输出字符 chr(num) (阿斯克码)

? %d 输出整数(十进制)

? %o 输出八进制数

? %x或%X 输出十六进制数

? %e或%E 输出科学计数法格式

? %[width][.precision]f 输出浮点数,长度为width,小数点后precision位,width默认为零,precision默认为6

2.字符串格式化方法调用:

str . format(索引:[填充字符][对齐方式][宽度])

str_a="{0}的年龄是{1}".format("张三"20)
str_b="{}的年龄是{}".format("张三"20)
str_c="{1}的年龄是{0}".format(20,张三)
print(str_a)
print(str_b)
print(str_c)

2.列表

(1).列表的创建
l = []
l = [{7, 8, 9}, 1, "a", [2, (5, "b")], {"a": 3, "b": 4}] #注:列表中的元素可以为任意数据类型
(2).基本操作
l.append(# 要添加的元素)

l.extend(# 为一个可迭代对象 )

l.insert(索引,元素)  # 将元素添加到索引位置
# 注意:此处的索引为未添加前的索引
  例如下面这道题:
  aList = [1,2],  aList.insert(-1,5)( ).
  A、[1,2,5]         B、[1,5,2]         C、[5,1,2]         D、[5,2,1]
  本题将5添加到原列表-1的位置,而之前在-1位置的2自动向后一位
 
l.pop(索引)  # 移除指定索引的元素,并返回(默认移除最后一个)
l.remove(元素)  # 移除元素(从左往右第一个匹配元素)
l.clear()  # 清除所有元素
l[索引] = 元素  # 将位于某索引的值改为指定元素
print(l[索引])  # 返回索引位置的值
l.index(元素)  # 返回元素所在索引(从左往右第一个匹配元素)
l.index(元素,起始,结尾)  # 从起始点到结尾点-1查找元素,返回索引(从左往右第一个匹配元素)

3.元组

相比于列表,元组不可更改,因此元组无法实现增删改的操作,只能通过索引查询数据,或查询数据所在的索引。

(二).映射型数据

1.字典

字典以键值对为元素,键与值之间用冒号隔开,不同元素之间用逗号分开

:字典是无序的无法用索引查询

(1).创建字典
dic = {}  # 创建空字典
d = dict()  # 用字典函数创建空字典
(2).基本操作
d = {"a":1,"b":2,"c":3,"d":4}  # 在创建是就就添加键值对
d[] =# 若键不存在,则添加键值对;若键已存在,就将旧值改为新值
del d[]  # 删除键值对
d.clear()  # 清空字典
d.pop()  # 删除键值对,并返回删除的值
d.popitem()  # 删除最后一个键值对,并以元组的形式返回该键值对
d[] =# 若键不存在,则添加键值对;若键已存在,就将旧值改为新值
d.update({"a":6})  # 可更新数据
d[]  # 返回键所对应的值,当键不存在时报错
d.get()  # 返回键所对应的值,当键不存在时默认返回None
d.keys()  # 返回所有键
d.values()  # 返回所有值
d.items()  # 返回所有键值对

:字典迭代循环,默认为键

for i in d  # 默认为键
for i in d.keys  # 键
for i in d.values  # 值
for i in d.items  # 键值对

(二).集合型数据

1.集合

借助数学中集合概念来理解,集合具有无序性,互异性。

无序性,指集合中没有顺序,没有索引

互异性,即集合中任意两个元素都不相等,可借助此性质来去重,但由于无序性,无法保证去重前后的顺序

(1).集合的创建
s = {1,2,3,4}  # 直接创建集合,并初始化
s = set()  # 用集合函数创建空集合,(注:若创建空集合只能用集合函数,因为用s = {}创建的是集合
(2).集合的基本操作
s.add(元素)  # 可添加元素
s.remove(元素)  # 删除元素,若元素不存在,则报错
s.discard(元素)  # 删除元素,若元素不存在,则返回None
s.pop()  # 随机删除并返回该元素
s.clear  # 清空

与数学类似的,Python中集合也有交,并,差等操作

集合1.intersection(集合2...)  #  交集
集合1.union(集合2,...)  # 并集
集合1。differenc(集合2,...)  # 差集
集合1.subset(集合2)  # 判断集合1是否为集合2的子集
集合1.superset(集合2)  # 判断集合2是否为集合1的子集

(注:列表,字符串,元组,集合均可使用len()函数来计算长度)

四.一些常用模块或方法

random

import random
random.random()  # 生成一个0到1(左闭右开)的随机浮点数(不常用)
random.randint(start,stop)  # 生成[start,stop]闭区间随机整数
random.randrange(start,stop,step)  # 生成start到stop(左闭右开)随机整数
random.choice(seq)  # 随机从序列性数据中挑选一个返回
random.shuffle(lst)  # 将列表的数据随机重排

math

import math
math.fabs()  # 返回数的绝对值
math.sqrt()  # 返回数的平方根
math.pi  # PI值

ord() chr()

阿斯克码值:

48~57 对应 0~9

65~90 对应 大写A~Z

97~122 对应 小写a~z

(相同字母之间阿斯克码值,大写比小写小32)

ord(字符)  # 将字符转化为阿斯克码值
chr(阿斯克码值)  # 将阿斯克值转化为字符

calender

import calendar
print(calendar.month(,))  # 输出该年改月的日历

五.一些简单编程题

(一).输入三个值,输出最大值

first = float(input("请输入第一个数:"))
second = float(input("请输入第二个数:"))
third = float(input("请输入第三个数:"))
max = first
if max<second:
	max = second
if max<third:
	max = third
print("最大值为"max)

(二).输入一个整数n,输出1~n的乘积

n = int(input("请输入一个整数:"))
i = 1
result = 1
while i<=n:
	result *= i
	i+=1
print("1到%d的乘积为:%d"%(n,result))

(三).控制输出的大小

arris = 1
while (arris <= 10):
    volume = arris ** 3
    if volume > 100:
        break
    print("棱长为%d的立方体的体积为:%d" % (arris, volume))
    arris = arris + 1              # 注意,应将判断语句放在输出语句前

(四).斐波那契数列,输出前20个斐波那契数列

f1 = 1
f2 = 1
for i in range(20):
	print(f1,"\n",f2)
	f1 = f1+f2
	f2 = f1+f2

(五).计算最大公因数和最小公倍数

firNum = int(input("请输入第一个整数:"))
secNum = int(input("请输入第二个整数:"))
mulNum = firNum * secNum
if firNum < secNum:
    firNum, secNum = secNum, firNum 
while firNum % secNum != 0:
    remNum = firNum % secNum
    firNum = secNum
    secNum = remNum
print("最大公约数为%d" % secNum)
print("最小公倍数为%d" % int(mulNum / secNum))

(六).判断素数

# 方法一
n = int(input("请输入一个数:"))
for i in range(2,n):
	if n%i == 0:
		print("该数不是素数")
		break
else:
	print("该数为素数")
# 方法二
import math

number = int(input("请输入需要判断的整数:"))
root = int(math.sqrt(number))

iNum = 2
while iNum <= root:
    if number % iNum == 0:
        break
    iNum = iNum + 1
if iNum > root:
    print("%d是素数" % number)
else:
    print("%d不是素数" % number)

(七).判断闰年

闰年:四年一闰百年不闰,每四百年再一闰

year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print("%d是闰年" % year)
else:
    print("%d不是闰年" % year)

内容为自己学习时所写,水平有限,内容仅供参考,如有错误,欢迎指正

文章来源:https://blog.csdn.net/2302_79576718/article/details/135495522
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。