首页
关于
Search
1
python打包-Nuitka快速上手
107 阅读
2
python打包-pystand快速上手
23 阅读
3
python打包-pyinstaller快速上手
18 阅读
4
开始我的python学习之路
17 阅读
5
python学习记录第25天
10 阅读
默认分类
登录
Search
Typecho
累计撰写
29
篇文章
累计收到
32
条评论
首页
栏目
默认分类
页面
关于
搜索到
29
篇与
的结果
2023-04-21
ppython学习记录第8天
3.1 【基础】列表这里面有两个重点:元素:没有要求同一类型,所以可以是任意类型。顺序:按顺序排列而成,说明列表是有序的。1. 创建列表创建列表有两种方法第一种方法:先创建空列表实例,再往实例中添加元素>>> phones = list() # 实例化 >>> phones.append("Apple") # 添加元素 >>> phones.append("Huawei") # 添加元素 >>> phones.append("Xiaomi") # 添加元素 >>> phones ['Apple', 'Huawei', 'Xiaomi']第二种方法:直接定义列表,并填充元素。>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones ['Apple', 'Huawei', 'Xiaomi']2. 增删改查增删改查:是 新增元素、删除元素、修改元素、查看元素的简写。由于,内容比较简单,让我们直接看演示查看元素使用 [i] 的方式查看第 i+1 个元素。例如 x 的起始值为 0 ,代表第一个元素。>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones[0] 'Apple' >>> phones[1] 'Huawei' >>> phones[2] 'Xiaomi' >>>使用 index 方法,查看第一个值为 x 的索引。>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"] >>> phones.index("Huawei") 1 >>>使用 count 方法,查看该列表中有几个值为 x>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"] >>> phones.count("Huawei") 2 >>>使用内置函数 len(),可以查看该列表中有几个值>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> len(phones) 3 >>>新增元素使用列表的 append 、insert、和 extend 方法append 方法:将元素插入在列表的最后一个位置>>> phones = [] >>> phones.append("Apple") >>> phones ['Apple'] >>> phones.append("Huawei") # append 后 Huawei 会在最后一个位置 >>> phones ['Apple', 'Huawei'] >>>insert 方法:将元素插入在列表的指定的位置>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones.insert(1, "OPPO") # 把 OPPO 插入到索引为 1 的位置 >>> phones ['Apple', 'OPPO', 'Huawei', 'Xiaomi']extend:将一个新的列表直接连接在旧的列表后面>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> new_phones = ["OPPO", "VIVO"] >>> phones.extend(new_phones) >>> phones ['Apple', 'Huawei', 'Xiaomi', 'OPPO', 'VIVO']修改元素直接使用 list[x]=new_item 的方法直接替换>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones[1] = "OPPO" >>> phones ['Apple', 'OPPO', 'Xiaomi']删除元素使用 pop ,remove 、clear 方法或者 del 语句删除元素pop 方法:删除指定位置的元素。默认删除最后一个元素,并返回>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones.pop() # 删除最后一个元素 'Xiaomi' >>> phones.pop(0) # 删除索引为0的元素 'Apple' >>> phones ['Huawei'] >>>remove:删除第一个值为 x 的元素。>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"] >>> phones.remove("Huawei") >>> phones ['Apple', 'Xiaomi', 'Huawei'] >>>clear 方法:把所有的元素清空>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> phones.clear() >>> phones [] >>>del 语句:清空列表,还有另一种方法>>> phones = ["Apple", "Huawei", "Xiaomi"] >>> del phones[:] >>> phones [] >>>使用 del 语句,还可以删除某一个或者某几个连续的元素。>>> phones = ["Apple", "Huawei", "Xiaomi", "OPPO", "VIVO"] >>> del phones[0] # 删除索引为0的元素 >>> phones ['Huawei', 'Xiaomi', 'OPPO', 'VIVO'] >>> >>> del phones[1:3] # 删除索引在 [1:3) 区间内元素,注意是左闭右开区间 >>> phones ['Huawei', 'VIVO']3. 列表反转列表反转有两种方法使用自带的 reverse 方法>>> nums = [1,2,3,4,5] >>> nums.reverse() >>> nums [5, 4, 3, 2, 1]4. 列表排序列表的排序同样有两种方法:第一种方法:列表对象内置了 sort 方法,可方便我们对元素进行排序。>>> alist = [4,8,1,7,2] >>> alist.sort() >>> alist [1, 2, 4, 7, 8] >>>第二种方法:Python 有个内置的 sorted 函数,它不仅可用作列表的排序,后面我们还会学到 字典 等其他数据结构的排序也会用到它。>>> alist = [4,8,1,7,2] >>> sorted(alist) [1, 2, 4, 7, 8] >>>不管用哪种方法,都要保证列表内的元素俩俩是可比较的。比如,数值和数值是可比较的,字符串和字符串之间是可比较的。但是数值和字符串是不可比较的,示例如下>>> alist = [9,3,1,"d","k","a"] >>> alist.sort() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '<' not supported between instances of 'str' and 'int' >>>
2023年04月21日
5 阅读
0 评论
1 点赞
2023-04-20
python学习记录第7天
6 【基础】运算符(超全整理)0. 什么是运算符?本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4和5被称为操作数,"+"号为运算符。Python语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级接下来让我们一个个来学习Python的运算符。1. Python算术运算符以下假设变量a为10,变量b为20:运算符描述实例+加 - 两个对象相加a + b 输出结果 30-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -10*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 200/除 - x除以yb / a 输出结果 2%取模 - 返回除法的余数b % a 输出结果 0**幂 - 返回x的y次幂a**b 为10的20次方, 输出结果 100000000000000000000//取整除 - 返回商的整数部分9//2 输出结果 4 , 9.0//2.0 输出结果 4.0以下实例演示了Python所有算术运算符的操作两数相加减>>> a = 10 >>> b = 20 >>> a + b 30 >>> b - a 10两数相乘除>>> a = 10 >>> b = 20 >>> a * b 200 >>> b / a 2.0取模取余>>> a = 10 >>> b = 3 >>> a // b 3 >>> a % b 12. Python比较运算符以下假设变量a为10,变量b为20:运算符描述实例==等于 - 比较对象是否相等(a == b) 返回 False。!=不等于 - 比较两个对象是否不相等(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。以下实例演示了Python所有比较运算符的操作:判断两数是否相等>>> a = 1 >>> b = 1 >>> a == b True >>> a != b False判断 a 是否大于 b>>> a = 1 >>> b = 2 >>> a > b False >>> a < b True3. Python赋值运算符以下假设变量a为10,变量b为20:运算符描述实例=简单的赋值运算符c = a + b 将 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以下实例演示了Python所有赋值运算符的操作:这里只以加减为例,其它的同理>>> a = 1 >>> a += 2 >>> a 3 >>> a += 2 >>> a 5 >>> a -= 2 >>> a 34. Python位运算符按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:运算符描述实例&按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100\ 按位或运算符(a \b) 输出结果 61 ,二进制解释: 0011 1101^按位异或运算符(a ^ b) 输出结果 49 ,二进制解释: 0011 0001~按位取反运算符(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。<<左移动运算符a << 2 输出结果 240 ,二进制解释: 1111 0000>>右移动运算符a >> 2 输出结果 15 ,二进制解释: 0000 1111以下实例演示了Python所有位运算符的操作:与运算>>> a = 60 # 60 = 0011 1100 >>> b = 13 # 13 = 0000 1101 >>> c = 0 >>> a & b # 12 = 0000 1100 12或运算>>> a | b # 61 = 0011 1101 61异或运算>>> a ^ b # 49 = 0011 0001 49取反运算>>> a = 60 # 60 = 0011 1100 >>> ~a # -61 = 1100 0011 -61左移动运算符>>> a = 60 # 60 = 0011 1100 >>> a << 2 # 240 = 1111 0000 240右移动运算符>>> a = 60 # 60 = 0011 1100 >>> a >> 2 # 15 = 0000 1111 155. Python逻辑运算符Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:运算符逻辑表达式描述实例andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。orx or y布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False以上实例输出结果:and:必须都为True,才能返回True,否则返回False>>> True and True True >>> True and False Falseor:只要有一个为True,就返回True,其他返回False>>> True or False True >>> True or True Truenot:与原值取反>>> not True False >>> not False True6. Python成员运算符除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。运算符描述实例in如果在指定的序列中找到值返回True,否则返回False。x 在 y序列中 , 如果x在y序列中返回True。not in如果在指定的序列中没有找到值返回True,否则返回False。x 不在 y序列中 , 如果x不在y序列中返回True。以下实例演示了Python所有成员运算符的操作:>>> "Apple" in ["Apple", "Huawei"] True >>> >>> "Vivo" not in ["Apple", "Huawei"] True7. Python身份运算符身份运算符用于比较两个对象的存储单元运算符描述实例isis是判断两个标识符是不是引用自一个对象x is y, 如果 id(x) 等于 id(y) , is 返回结果 1is notis not是判断两个标识符是不是引用自不同对象x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1以下实例演示了Python所有身份运算符的操作:>>> a = 1000 >>> b = 1000 >>> id(a) 4532310864 >>> id(b) 4532311632 >>> a is b False8. Python运算符优先级以下表格列出了从最高到最低优先级的所有运算符:运算符描述**指数 (最高优先级)~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)* / % //乘,除,取模和取整除+ -加法减法>> <<右移,左移运算符&位 'AND'^ \ 位运算符<= < > >=比较运算符<> == !=等于运算符= %= /= //= -= += = *=赋值运算符is is not身份运算符in not in成员运算符not or and逻辑运算符以下实例演示了Python运算符优先级的操作:>>> 20 + ( 30 * 2 ) / 5 32.0计算顺序是30*2 = 6060/5 = 12.020 + 12.0 = 32.0
2023年04月20日
5 阅读
0 评论
1 点赞
2023-04-19
python学习记录第6天
6 【基础】字符串格式化格式化输出,主要有三种方式使用 % 进行格式化使用 format 函数进行格式化使用 f-string 进行格式化由于这三种格式化的内容都非常的多,这里仅为了你看本教程后面的内容,我只介绍最常用的几种第一种方法:使用 %%s 表示这个位置接的是一个字符串变量%d 表示这个位置接的是一个整型变量前面有多少个 %,后面就要有多少个变量,一一对应,多个变量要括号括起来>>> name = "Jack" >>> age = 18 >>> print("我的名字是: %s,今年 %d 岁" %(name, age)) 我的名字是: Jack,今年 18 岁更多的格式化式符号,可以参考这张表第二种方法:使用 format在字符串中,使用 {} 进行占位,然后在字符串后跟上 .format() 函数,这个函数的参数就是我们要往字符串中填充的变量。format 函数会依次填充,比如第一个 {} 会取到第一个参数 name,第二个 {} 会取到第二个参数 age>>> name = "Jack" >>> age = 18 >>> print("我的名字是:{}, 今年 {} 岁".format(name, age)) 我的名字是:Jack, 今年 18 岁然后如果变量值比较多的话,这样往往会看错乱掉。你可以改成使用索引>>> print("我的名字是:{0}, 今年 {1} 岁".format(name, age)) 我的名字是:Jack, 今年 18 岁甚至还可以直接用变量名进行替代>>> name = "Jack" >>> age = 18 >>> print("我的名字是:{name}, 今年 {age} 岁".format(name=name, age=age)) 我的名字是:Jack, 今年 18 岁第三种方法:使用 f-string这种方法是 Python 3.6 才支持的写法,只要你在字符串前面加一个 f,开启 f-string ,就可以在字符中写入变量。直接看案例了>>> name = "Jack" >>> age = 18 >>> print(f"我的名字是:{name}, 今年 {age} 岁") 我的名字是:Jack, 今年 18 岁
2023年04月19日
4 阅读
0 评论
1 点赞
2023-04-18
python学习记录第5天
5 【基础】学会输入与输出无论是从我们一开始的“hello world”,还是前面章节的里各种例子,基本都是些“自说自话”,展示类的代码片段。只有能够接收用户输入,根据输入动态生成结果,并输出到屏幕上展示出来,才算一个较为完整,起码是有那么点乐趣或者说成就的简单程序。1. input 输入函数input函数:获取用户输入,保存成一个字符串。重要的话,说两遍,input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是 整数1。下面是一些简单的展示例子:>>> name = input("please input your name: ") >>> type(name) <class 'str'>第一个例子中,inp = input("please input your name: "),input函数里可以提供一个字符串,用来给用户进行输入提示。input函数的返回值赋值给inp这个变量后,inp里就保存了用户输入的值。type() 是Python内置的函数之一,非常有用,用于查看对象的数据类型。例子中的 name 是一个str字符串类型,这验证了我们前面说的话。如果你想要输入的是数值,那么需要你手动使用 int() 函数转一下类型>>> age = input("please input your age: ") please input your age: 18 >>> age '18' >>> age = int(age) >>> age 18 >>> type(age) <class 'int'>有时候可能输入两边会多敲入几个空格,这时候可以使用 strip() 函数去除首尾空格>>> name = input("please input your name: ") please input your name: jack >>> name ' jack' >>> name = name.strip() >>> name 'jack'有时候用户输入的内容会不符合程序的预期,比如我想要获取年龄,那输入必然是全数字,而不能是其他非数值,这时候就可以使用 isdigit 函数进行判断>>> age = input("please input your age: ") please input your age: jack >>> if age.isdigit(): ... age = int(age) ... print("你的年龄是: ", age) ... else: ... print("输入不合法!") ... 输入不合法!input函数有时可以巧妙地用于阻塞或暂停程序print("程序前面部分执行完毕......") input("请按回车继续......") # 在这里程序会暂停,等待你的回车动作 print("继续执行程序的后面部分......")此时的input函数不会将输入保存下来,只是用作暂停程序动作。2. print 输入函数print函数我们其实已经不陌生了,前前后后也用了不少次,多少有点经验,明白点它的用法了。print函数用于将内容格式化显示在标准输出上,主要指的是屏幕显示器。print可以接受多个字符串,字符串类型的变量或者可print的对象。每个字符串用逗号“,”隔开,连成一串输出。print会依次打印每个字符串,同时,每遇到一个逗号“,”就输出一个空格。>>> a = "i am" >>> b = "student" >>> print(a,"a" , b) i am a student # 自动以空格分隔 >>> print(a+"a"+b) i amastudent # 无分隔对于形如print(a+"a"+b)的语句,其实是先计算a+"a"+b的值,然后再通过print打印它。print()会自动执行内部的语句,输出想要的结果。再看一个例子:>>> a = 10 >>> b = 2 >>> print(sum((a, a*b))) # 先求a*b,再求和,再打印 30我们看一下print函数的原型:print(self, *args, sep=' ', end='\n', file=None)sep参数: 分隔的符号,默认是一个空格;end参数: 打印后的结束方式,默认为换行符\n。如果,设置end='',则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。>>> a = "i am" >>> b = "student" >>> print(a,"a" , b, sep="*") i am*a*student
2023年04月18日
6 阅读
0 评论
1 点赞
2023-04-17
python学习记录第4天
4 【基础】布尔值:真与假1. 什么是布尔值但在Python语言中,布尔类型只有两个值True:表示真值False:表示假值请注意,首字母要大写,不能是其它花式变型。所有的计算结果,判断表达式调用返回值是True或者False的过程都可以称为布尔运算,例如比较运算。布尔值通常用来判断条件是否成立。age = 16 if age >= 18: print("你是个成年人") else: print("你还未成年")在 Python Shell 的模式下,很容易看出表达式返回的是真值还是假值。>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False >>> 3 in [1,2,3] True >>> 3 == 9/3 True2. 布尔类型的转换Python内置的 bool() 函数可以用来测试一个表达式的布尔值结果。>>> bool(1) True >>> bool(0) False >>> bool([]) False >>> bool(()) False >>> bool({}) False >>> bool(-1) True >>> bool('') False >>> bool(None) False >>> bool("False") True >>> bool("True") True >>> bool(0.0) False >>> bool(1.0) True >>> bool(-0.0) False看完上面的例子,可以总结出下面这些值经过 bool 转换后是假值:0、0.0、-0.0None:这个后面会讲到空字符串、空列表、空元组、空字典而这些会转换成真值-1、1或者其他非0数值所有非空字符串,包括 "False"所有非空字典、非空列表、非空集合,非空元组3. 布尔运算布尔类型可以进行 and、or和 not运算。and 运算是与运算,只有所有都为True,and运算的结果才是True:>>> True and True True >>> True and False False >>> False and False False >>> 5 > 3 and 3 > 1 Trueor运算是或运算,只要其中有一个为True,or运算结果就是True:>>> True or True True >>> True or False True >>> False or False False >>> 5 > 3 or 1 > 3 Truenot运算是非运算,它是单目运算符,把True变成False,False变成True:>>> not True False >>> not False True >>> not 1 > 2 True再开下脑洞,布尔类型还能做别的运算吗?试试就知道了!>>> True > False True >>> True < False False >>> True >=False True >>> True -1 0 >>> True + 1 2 >>> True *3 3 >>> False -1 -1真的可以!比较运算,四则运算都没有问题。并且在做四则运算的时候,明显把True看做1,False看做0。往往是我们不知道的细节,有时候给我们带来巨大的困扰和疑惑。更多的运算种类支持,请大家自行测试。4. 空值:None空值不是布尔类型,严格的来说放在这里是不合适的,只不过和布尔关系比较紧密。空值是Python里一个特殊的值,用None表示(首字母大写)。None不能理解为 0,因为0是整数类型,而None是一个特殊的值。None也不是布尔类型,而是NoneType。>>> bool(None) False >>> type(None) <class 'NoneType'>
2023年04月17日
6 阅读
3 评论
1 点赞
1
...
4
5
6