python3

Python3 数据类型-字符串

落花浮王杯 提交于 2020-03-01 14:50:12
字符串是 Python 中最常用的数据类型,是一个个字符组成的有序的序列,是字符的集合。 一 字符串定义 创建字符串很简单,可以使用引号('或"或""")来创建字符串,只要为变量分配一个值即可。 实例(Pytho3.0+): s1 = 'string' s2 = "string2" s3 = '''this's a "String"''' s4 = 'hello \n magedu.com' print(s4) #hello # magedu.com s5 = r'hello \n magedu.com' print(s5) #hello \n magedu.com #字符串前面加r,表示的意思是禁止字符转义 s6 = 'c:\windows\nt' print(s6) #c:\windows #t s7 = R"c:\windows\nt" # 字符串前面加r,表示的意思是禁止字符转义 print(s7) #c:\windows\nt s8 = 'c:\windows\\nt' print(s7) #c:\windows\nt # \ 转义字符,去除特殊字符的含义 sql = """select * from user where name='tom'""" 二 字符串元素访问 索引访问  实例(Python3.0+): sql = "select * from user

python3 urllib使用 module 'urllib' has no attribute 'request'

拥有回忆 提交于 2020-03-01 11:40:17
urllib在python3中不用单独安装直接引用就可以了 import urllib import urllib.request #python3的urllib不会自动导入其under层的包,需要手动导入 不引用报 module 'urllib' has no attribute 'request' module 'urllib' has no attribute 'error' 来源: oschina 链接: https://my.oschina.net/u/1431904/blog/3006712

Python3函数之例子

二次信任 提交于 2020-03-01 10:47:21
1.分别使用递归、循环和生成器求菲波那切数列 递归: def fib_rec(n): if n == 0: return 1 if n == 1: return 1 return fib_rec(n-1) + fib_rec(n-2) fib_rec(5) 循环: def fib_loop(n): lst = [] for i in range(n+1): if i == 0 or i == 1: lst.append(1) else: lst.append(lst[-1] + lst[-2]) return lst.pop() fib_loop(5) def fib_loop2(n): a, b = 1, 1 for i in range(n+1): if i == 0 or i == 1: a, b = 1, 1 else: a, b = b, a+b return b fib_loop2(5) 生成器: def fib_gen(): i = 0 a, b = 1, 1 while True: if i == 0 or i == 1: yield 1 else: a, b = b, a+b yield b i += 1 def fib(n): gen = fib_gen() for _ in range(n): next(gen) return next(gen) fib(5)

Python3函数之装饰器

℡╲_俬逩灬. 提交于 2020-03-01 10:45:05
不带参数的装饰器 from functools import wraps # 封装函数进行装饰,保留被装饰函数属性 def zsq(sc): # 设计一个装饰器函数,传入被装饰函数 @wraps(sc) def nsc(*args, **kwargs): # 设计它的封装 jg = sc(*args, **kwargs) # 调用被装饰函数,配合百搭 print('nsc function.') print(jg) return 0 return nsc @zsq def zzsc(): # 设计最终函数,也当做sc被装饰,这里百搭参数 '''zzsc...''' print('sc function.') return 1 # 返回值 # 定义过程: # 设计zzsc为被装饰函数,并作为输入函数参数被传入装饰器 # 装饰器封装一个函数,并传入百搭参数 # 装饰器返回封装函数,并把最终函数指向封装函数, # 这时候最终函数的参数(百搭参数) #执行过程: # 调用最终函数,传入百搭参数 # 执行封装函数。。 # 执行被装饰函数 #PS: # 装饰器的返回值肯定是封装函数 # 最终函数|被装饰函数的返回值,用于供封装函数可能使用 # 封装函数的返回值会成为最终函数的返回值被返回 装饰器的本质是函数,接收一个函数作为参数,并且返回一个函数 装饰器通常会返回一个封装函数

python3条件表达式的用法

半世苍凉 提交于 2020-03-01 07:44:11
条件表达式: (类似三目运算符:条件运算符C?A:B) 语法: 表达式1 if真值表达式 else 表达式2 作用: 如果真值表达式的布尔环境值为True,表达式1执行并返回对象,否则表达式2执行并返回对象示例: 取绝对值: x=input(“请输入一个数:")x=int(x) x=xifx>0else-x#等同于x=abs(x) 来源: CSDN 作者: 浅哈哈哈 链接: https://blog.csdn.net/weixin_44809386/article/details/104577864

Could not find a version that satisfies the requirement pandas==0.25.3 (from pandas_profiling)的错误解决

邮差的信 提交于 2020-02-29 22:58:04
错误接:no matching distrubute 的错误 查询过更改源,无效;更新pip,无效;更新了pandas也无效,更新不上去版本: Looking in indexes: http://pypi.douban.com/simple/ Requirement already up-to-date: pandas in /usr/local/lib/python3.5/dist-packages (0.24.2) Requirement already satisfied, skipping upgrade: python-dateutil>=2.5.0 in /usr/local/lib/python3.5/dist-packages (from pandas) (2.7.3) Requirement already satisfied, skipping upgrade: pytz>=2011k in /usr/local/lib/python3.5/dist-packages (from pandas) (2018.5) Requirement already satisfied, skipping upgrade: numpy>=1.12.0 in /usr/local/lib/python3.5/dist-packages (from pandas) (1.14

字符串置换 python3

本小妞迷上赌 提交于 2020-02-29 22:33:31
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。 置换的意思是,通过改变顺序可以使得两个字符串相等。 思路:将字符串排序后比较 class Solution: """ @param A: a string @param B: a string @return: a boolean """ def Permutation(self, A, B): # write your code here list1 = [ i for i in A] list2 = [ i for i in B] list1.sort() list2.sort() if list1 == list2: print("list1 is equal to list2") return True print(list1) print(list2) return False 来源: https://www.cnblogs.com/maybug/p/12386360.html

解决PyScripter中文乱码问题

こ雲淡風輕ζ 提交于 2020-02-29 19:34:05
环境: PyScripter 2.6.0.0 python3.4 问题: PyScripter有个小坑,打开文件后中文都成了乱码。在PyScripter中新建的文件中文可以正常显示,但是重新打开后中文乱码。 PyScripter中文乱码原因: 原因是如果文件头部没有编码声明,那么PyScripter会默认使用ANSI打开文件。 而PyScripter默认的文件模板也不带编码声明,重新打开文件时间不以UTF-8打开,所以乱码。 解决的办法: 1、用其它编辑器打开文件,添加这一行声明并保存: # -*- coding: UTF-8 -*- 2、修改PyScripter的文件模板也添加上这一行: # -*- coding: UTF-8 -*- 这样每次用PyScripter 新建python代码文件时间都会自动带上这行代码声明。很是非常十分方便-_-! 具体操作步骤: 工具 → 选项 → 文件模板 → python脚本 → 然后在模板中添加编码声明: # -*- coding: UTF-8 -*- → 点击更新!!!←这一步非常重要,修改后要记得点更新才会保存。 PyScripter 的所有配置都保存在PyScripter.ini中,路径是 你的用户目录/AppData\Roaming\PyScripter/PyScripter.ini C:\Users\Administrator

【力扣日记】258 各位相加

蹲街弑〆低调 提交于 2020-02-29 17:42:43
题目描述 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例:输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。 算法 1、naive class Solution : def addDigits ( self , num : int ) - > int : while len ( str ( num ) ) > 1 : n = 0 for i in list ( map ( int , str ( num ) ) ) : n += i num = n return num 执行用时 :56 ms, 在所有 Python3 提交中击败了9.94%的用户 内存消耗 :13.4 MB, 在所有 Python3 提交中击败了27.81%的用户 A naive implementation of the above process is trivial. Could you come up with other methods? 2、ruler class Solution : def addDigits ( self , num : int ) - > int : if num > 9 : num = num % 9 if num == 0 : return 9 return

python3:打印杨辉三角

孤街浪徒 提交于 2020-02-29 17:39:47
#!/usr/bin/env python3 ''' 打印杨辉三角 ''' def triangle(): yield [1] yield [1, 1] upline = [1, 1] count = 0 while True: count += 1 line = [1] for x in range(count): line.append(upline[x] + upline[x + 1]) line.append(1) yield line upline = line if __name__ == '__main__': yang = triangle() for x in range(10): print(next(yang)) yang = triangle() row = 6 width = 2 for x in range(row): l = [ str(e).center(width) for e in next(yang)] print(''.join(l).center(row * width)) 来源: CSDN 作者: qq_41572664 链接: https://blog.csdn.net/qq_41572664/article/details/104573521