计算机基本硬件由:cup / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件无法进行交流和通信 协调硬件之间相互工作,常见的操作系统 编程语言的开发者写的一个工具,将用户写的代码转换成010101交给操作系统去执行。 解释型语言类似:实时翻译。代表:Python / PHP / Ruby /Perl 编译型语言类似于:说完之后,整体进行翻译。代表:C / C++ / Java / Go 软件又称为应用程序,就是我们在电脑上使用的工具,类似于:快播 / 爱奇艺 / 熊猫浏览器 / 游戏 对于计算机而言,无论是文件存储还是网络传输,本质上都是二进制(0101010101),比如,电脑上存储的图片或者文件,都是二进制;QQ微信上发送的表情和文字,本质上也都是二进制。 进制: 2.2.1编码基础 2.2.2python编码相关 对于python默认解释器编码: py2:ASCII py3:utf – 8 如果想要修改默认编码,则可以使用: 注意:对于操作文件时,要按照:以什么编码写入就用什么编码打开 问:为什么要有变量? 为某个值创建一个“外号”,以后使用时直接可以使用外号直接调用。 算数运算符,例如:加减乘除 比较运算符,例如:大于、小于 注意:python中不支持 <> 赋值运算,例如:变量赋值 成员运算,例如:是否包含 逻辑运算,例如:且或非 通常情况下逻辑运算一般都用在含有 条件判断 的位置,用于判断真假,例如: 示例一: 示例二: 练习题: 总结: 示例三: 关于所有的运算符都有一个优先级需要遵循,优先级从高到低依次是: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-73mfvnOA-1587266913477)(D:迅雷下载qq421E0EA568377BD15D408CE8A3C19FA2f899990ce20548858eb947920111e9f3ysf.png)] 算数优先级优先级 大于 比较运算符 比较运算符优先级 大于 逻辑运算符 逻辑运算符内部三个优先级 not > and > or 以上优先级从高到低总结:加减乘除 > 比较 > not and or py2中有:int / long py3中有:int (int/long) py2:地板除,需引入模块 py3:有小数点 布尔值就是用于表示真假。True和False 其他类型转换成布尔值: 对于None / [] / {} / () 转换成布尔值都是False 字符串是写代码中最常见的,python在内存中字符串是按Unicode编码存储,对于字符串是不可变的,如果变了需要新的内存地址接收。 字符串中有很多自己的方法,如: 大写 小写 判断是否是数字 去空白 替换 .replace 开头 / 结尾 编码 把字符串转换成二进制 字符串格式化 .format 连接 .join 切割 .split 一个字符串切割后是列表 首字母大写 .capitalize() 居中 左/右补齐 计算个数 找 find 从左到右找第一个出现的索引位置 对比.index find找不到就会返回-1 index找不到报错 字符串格式化 format / format_map 空白 大小写反转 首字母大写 翻译 其他… len int 和 bool不具备 索引 set不具备 切片 步长 for循环 除了int 和bool都可以 read() :全部读到内存 read(3) write() 也可以按字符和按字节 seek(光标字节位置),无论模式是否带b都是按照字节 tell flush 每次手动关闭 自动关闭 占用内存较小的文件修改 占用内存较大(利用seek) 有变量name = “aleX leNb “ 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果 判断 name 变量是否以 “al” 开头,并输出结果(用切片) 判断name变量是否以”Nb”结尾,并输出结果(用切片) 将 name 变量对应的值中的 所有的”l” 替换为 “p”,并输出结果 将name变量对应的值中的第一个”l”替换成”p”,并输出结果 将 name 变量对应的值根据 所有的”l” 分割,并输出结果 将name变量对应的值根据第一个”l”分割,并输出结果 将 name 变量对应的值变大写,并输出结果 将 name 变量对应的值变小写,并输出结果 请输出 name 变量对应的值的第 2 个字符? 请输出 name 变量对应的值的前 3 个字符? 请输出 name 变量对应的值的后 2 个字符? 有字符串s = “123a4b5c” 使用while和for循环字符串 s=”asdfer” 中每个元素。 使用while和for循环对s=”321”进行循环,打印的内容依次是:”倒计时3秒”,”倒计时2秒”,”倒计时1秒”,”出发!”。 使用while和for循环分别对字符串 message = “伤情最是晚凉天,憔悴厮人不堪言。” 进行打印。 获取用户输入的内容,并计算前四位”l”出现几次,并输出结果。 获取用户两次输入的内容,并将所有的数据获取并进行相加,如: li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] print(’n’)#少个换行再输出num_sum,就拿着个用了 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”]
Python学习笔记
第一章 计算机基础
1.1硬件
1.2操作系统
1.3解释器和编译器
1.3.1解释型和编译型语言
1.4软件(应用程序)
1.5进制
第二章 Python入门
2.1环境的安装
2.2编码
# -*- coding:gbk -*-
2.3变量
2.3.1变量规范
2.3.2运算符
运算符
描述
实例
+
加 – 两个对象相加
a + b 输出结果30
–
减 – 得到负数或是一个数减去另一个数
a – b 输出结果-10
*
乘 – 两个数相乘或是返回一个被重复若干次的字符串
a * b 输出结果200
/
除 – x除以y
b / a 输出结果2
%
取模 – 返回除法的余数
b % a 输出结果0
**
幂 – 返回x的y次幂
a**b 为10的20次方
//
取整除 – 返回商的整数部分
9//2 输出结果4
运算符
描述
实例
==
等于 – 比较两个对象是否相等
(a == b) 返回False
!=
不等于- 比较两个对象是否不相等
(a != b) 返回True
<>
不等于 – 比较两个对象是否不相等
(a <>b) 返回True。这个运算类似!=
>
大于 – 返回x是否大于y
(a > b) 返回False
<
小于 – 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写
(a < b) 返回True
>=
大于等于 – 返回x是否大于等于y
(a >= b) 返回False
<=
小于等于 – 返回x是否小于等于y
(a <= b) 返回True
运算符
描述
实例
=
简单的赋值运算符
c = a + b 的运算结果赋值为c
+=
加法赋值运算符
c += a 等效于 c = c + a
-+
减法赋值运算符
c -= a 等效于 c = c – a
*=
乘法赋值运算符
c *= a 等效于 c = c * a
/=
除法赋值运算符
c /= a 等效于 c = c / a
%=
取模赋值运算符
c %= a 等效于 c = c % a
**=
幂赋值运算符
c **= a 等效于 c = c ** a
//=
取整除赋值运算符
c //= a 等效于 c = c // a
运算符
描述
实例
in
如果在指定的序列中找到值返回True,否则返回False。
x在y序列中,如果x在y序列中返回True
not in
如果在指定的序列中没有找到值返回True,否则返回False。
x不在y序列中,如果x不在y序列中返回True
运算符
描述
实例
and
布尔’与’ – 如果x为False,x and y 返回False,否则它返回y的计算值。
(a and b) 返回True
or
布尔’或’ – 如果x是True,它返回True,否则它返回y的计算值。
(a or b) 返回True
not
布尔’非’ – 如果x是True,返回False。如果x为False,它返回True
not (a and b) 返回False
2.3.2.1逻辑运算
# 示例1 if 1 == 1 and 2 > 3: print("真") # 示例2 name = input("请输入用户名:") if "wupeiqi" == name or 1 == 1: print("真") # 示例3 flag = False if not flag: print("来了老弟") # 示例4 while 1 == 2 and 2 == 9: print("来了老妹")
data = "alex" # 如果第一个值转换为布尔值为True,则 name = 第一个值 # 如果第一个值转换为布尔值为False,则 name = 第二个值 name = data or "武沛齐" print(name) # 练习题 v1 = 1 or 2 v2 = -1 or 3 v3 = 0 or -1 v4 = 0 or 100 v5 = "" or 10 v6 = "wupeiqi" or "" print(v1,v2,v3,v4,v5,v6)
# 如果第一个值转换布尔值为True,则 num = 第二个值 num = 1 and 2 # 如果第一个值转换布尔值为False,则 num = 第一个值 num = 0 and 9
# 练习题 v1 = 4 and 8 v2 = 0 and 6 v3 = -1 and 88 v4 = "" and 7 v5 = "武沛齐" and "" v6 = "" and 0 v7 = 0 and "中国" print(v1,v2,v3,v4,v5,v6,v7)
or, 看第一个值,如果是 `真` 则选择第一个值,否则选择第二个值。 and,看第一个值,如果是 `假` 则选择第一个值,否则选择第二个值。
v1 = 1 and 6 or 8 and 0 or "" # 结果:v1 = 6 # 流程分析: # 第一步:处理 1 and 6,得到 v1 = 6 or 8 and 0 or "" # 第二步:处理 8 and 0,得到 v1 = 6 or 0 or "" # 第三步:处理 6 or 0 ,得到 v1 = 6 or "" # 第四步:处理 6 or "",得到 6
# 练习题 v1 = 0 or 4 and 3 or 7 or 9 and 6 v2 = 8 or 3 and 4 or 2 and 0 or 9 and 7 v3 = 0 or 2 and 3 and 4 or 6 and 0 or 3
2.3.2.2运算优先级
if 2 + 10 > 11: print("真") else: print("假")
if 1>2 and 2<10: print("成立") else: print("不成立")
if not 1 and 1>2 or 3 == 8: print("真") else: print("假")
第三章 数据类型
3.1整型(int)
3.1.1整型的长度
3.1.2整除
3.2布尔(bool)
3.3字符串(str)
v = 'alex' v1 = v.upper() print(v1) v2 = v.isupper() #判断是否全部为大写 print(v2)
v = 'Alex' v1 = v.lower() print(v1) v2 = v.islower() #判断是否全部为小写 print(v2) v3 = v.casefold() #更牛逼的变小写 print(v3)
v = '1' v = '①' v = '一' v1 = v.isdigit() # '1'-> Trus;'一'->False;'①'->False v2 = v.isdecimal() #纯数字才可以 v3 = v.isnumeric() #是数字的意思就可以 1/一/① 都行 print(v1,v2,v3)
v1 = 'alexn' #换行符 print(v1.strip()) v2 = 'alext' #制表符 Tab键 print(v2.strip()) v3 = ' alex ' #去两边空格 print(v3.strip()) v4 = 'alexa' print(v4.strip('a')) #去两边的a
v = 'asidj3saji3dp' v1 = v.split('3') #分割后没有3 print(v1) #找到第一个3,分成三份。前面的,他自己,后面的 v = 'asidj3sajidp' v1 = v.partition('3') print(v1)
v = 'alex' v1 = v.center(20,'*') print(v1) #结果:********alex********
v = 'alex' v1 = v.ljust(20,'*') print(v1) #结果:****************alex v = 'alex' v1 = v.rjust(20,'*') print(v1) #结果:alex****************
v = 'alex' v1 = v.count('a') print(v1)
v = 'alex' index = v.find('e') print(index) #结果:2
v = '我是{0},谢谢{1}'.format('alex',19) print(v) v = '我是{k1},谢谢{k2}'.format_map({'k1':'alex','k2':19}) print(v)
v = ' ' v1 = v.isspace() print(v1) #结果返回True
v = 'aleX' v1 = v.swapcase() print(v1) #结果返回ALEx
v = 'aleX is sb' v1 = v.title() print(v1) #结果:Alex Is Sb
a = '12345' b = 'abcde' table = str.maketrans(b,a) v = 'abaqwrpne' result = v.translate(table) print(result) #a改成1 b改成2 .... 即121qwrpn5
3.4列表
3.5元组
3.6字典
3.7集合
3.8公共功能
3.9嵌套
第四章 文件操作
4.1文件的基本操作
#打开文件 r-read只读;w-write只写;a-append只追加 # 文件不存在会报错 file_object = open('路径',mode='模式',encoding='编码') #读取文件 content = file_object.read() content = file_object.write() print(content) #关闭文件 file_object.close()
4.2打开模式
4.3具体操作
#按字符 obj = open('a.txt',mode = r,encoding = 'utf-8') #文件内容:我是爸爸 data = obj.read(1) #读一个字符 obj.close() print(date) #结果:我 #按字节 obj = open('a.txt',mode = rb) #文件内容:我是爸爸 data = obj.read(3) #读三个字节 obj.close() print(date) #读三个字节,二进制的01010,16进制显示出 print(data.decode('utf-8'))#二进制utf-8显示 ,我
obj = open('a.txt',mode = r,encoding = 'utf-8') #文件内容:我是爸爸 obj.seek(3) data = obj.tell() #获取光标当前所在的字节位置 print(date) obj.close() #迅雷的断点续传,记录上次下载的字节位置,下次接着下
obj = open('a.txt',mode = a,encoding = 'utf-8') while True: val = input('请输入') obj.write(vale) obj.close() #一直循环,没到关闭,写不进去 obj = open('a.txt',mode = a,encoding = 'utf-8') while True: val = input('请输入') obj.write(vale) obj.flush #强制将内存内容刷进硬盘 obj.close()
4.4关闭文件
obj = open('a.txt',mode = r,encoding = 'utf-8') obj.close()
with open('a.txt',mode = r,encoding = 'utf-8') as obj data = obj.read #缩进中的代码执行完后自动关闭
4.5文件的修改
with open('a.txt',mode = r,encoding = 'utf-8') as f1 data = f1.read new_data = data.replace('要替换','替换后内容') with open('a.txt',mode = r,encoding = 'utf-8') as f1 data = f1.wriet(new_data)
#方法1 f1 = open('a.txt',mode = r,encoding = 'utf-8') f2 = open('b.txt',mode = r,encoding = 'utf-8') for line in f1: new_line = line.replace('要替换','替换后内容') f2.write(new_line) f1.close() f2.close() #方法二 with open('a.txt',mode = r,encoding = 'utf-8') as f1, open('a.txt',mode = r,encoding = 'utf-8') as f2 for line in f1: new_line = line.replace('要替换','替换后内容') f2.write(new_line)
第五章 函数
第六章 模块
第七章 面向对象
第八章 网络编程
第九章 并发编程
第十章 数据库
第十一章 前端开发
第十二章 Django框架
附录 单词和常见错误
单词
作用
使用方法
data.replace(a,b,c)
替换
将data中的a替换成b,c代表替换次数,默认不填代表全部替换
data.split(a,b)
分割
以a分割data,结果中不显示a,b代表分割次数,默认不填代表全部分割。data中不存在a不会报错
报错信息
问题定位
解决方案
IndentationError: unindent does not match any outer indentation level
占位问题,存在两种可能性:1.代码没有对齐 2.存在非法字符与其他格式的不可见的内容(输入法的问题)
1.TAB对齐代码 2.选择代码,缩进-删除(or插入)制表符
SyntaxError: invalid character in identifier
练习题
一、数据类型(一)
name = 'aleX leNb name_new = name.strip() print(name_new)
name = 'aleX leNb ' name_new = name[:2] if name_new == 'al': print('是') print('否')
name = 'aleX leNb ' name_len = len(name) len_int = int(name_len) name_new = name[len_int-2:len_int] if name_new == 'Nb': print('是') print('否')
name = 'aleX leNb ' name_new = name.replace('l','P') print(name_new)
name = 'aleX leNb ' name_new = name.replace('l','P',1) #第三个参数是代表替换的次数,不填默认全部替换 print(name_new)
name = 'aleX leNb ' name_new = name.split('l') print(name_new)
name = 'aleX leNb ' name_new = name.split('l',1)#第三个参数是代表分割的次数,不填默认全部分割 print(name_new)
name = 'aleX leNb ' name_new = name.upper() print(name_new)
name = 'aleX leNb ' name_new = name.lower() print(name_new)
name = 'aleX leNb ' name_new = name[1:2] print(name_new)
name = 'aleX leNb ' name_new = name[:3] print(name_new)
name = 'aleX leNb ' name_len = len(name) name_len_int = int(name_len) name_new = name[name_len_int-2:name_len_int] print(name_new)
s='asdfer' for item in s: print(item)
s = '321' for num in s: item = '倒计时{0}秒'.format(num) print(item)
data = input('请输入内容:') data_f = data[:4] l_count = data_f.count('l') print(l_count)
""" 要求: 将num1中的的所有数字找到并拼接起来:1232312 将num1中的的所有数字找到并拼接起来:1218323 然后将两个数字进行相加。 """ num1 = input("请输入:") # asdfd123sf2312 num2 = input("请输入:") # a12dfd183sf23 # 请补充代码 num_sum = 0 num1_str = '' num1 = input("请输入:") # 输入asd123,想打印出6 for n1 in num1: n1_flag = n1.isdecimal() if n1_flag: num1_str = num1_str.join(n1) print(num1_str,end='') n1 = int(n1) num_sum += n1 num2_str = '' num2 = input("n请输入:") # 输入asd123,想打印出6 for n2 in num2: n2_flag = n2.isdecimal() if n2_flag: num2_str = num2_str.join(n2) print(num2_str,end='') n2 = int(n2) num_sum += n2 print('n')#少个换行再输出num_sum,就拿着个用了 print(num_sum)
二、数据类型(二)
利用for循环和range打印出下面列表的索引。
li = ['alex','WuSir','ritian','barry','wenzhou'] for i in li: print(i)
利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中
list = [] for i in range(0,101): i = int(i) if i % 2 == 0: list.append(i) print(list)
利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中
list = [] for i in range(0,51): i = int(i) if i % 3 == 0: list.append(i) print(list)
利用for循环和range从100~1,倒序打印
list = [] for i in range(0,101): list.append(i) print(list[::-1])
利用for循环和range循环1-30的数字,将能被3整除的添加到一个列表中,将能被4整除的添加到另外一个列表中。
n2 = int(n2) num_sum += n2
print(num_sum)
二、数据类型(二)
利用for循环和range打印出下面列表的索引。
li = ['alex','WuSir','ritian','barry','wenzhou'] for i in li: print(i)
利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中
list = [] for i in range(0,101): i = int(i) if i % 2 == 0: list.append(i) print(list)
利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中
list = [] for i in range(0,51): i = int(i) if i % 3 == 0: list.append(i) print(list)
利用for循环和range从100~1,倒序打印
list = [] for i in range(0,101): list.append(i) print(list[::-1])
利用for循环和range循环1-30的数字,将能被3整除的添加到一个列表中,将能被4整除的添加到另外一个列表中。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算