Python字符串加密解密方法总结

Python字符串加密解密方法总结
Python字符串加密解密方法总结

Python字符串加密解密方法总结

编程中经常会对字符串做加密解密处理,特别是涉及到隐私的字符串,如密码等的时候,就需要加密,自己总结了一下,大致有三种:base64,win32com.client和自己写加密解密算法,当然最安全的就是自己写加密解密算法了。

1. 1. 最简单的方法是用base64:

2.

3.import base64

4.

5.s1 = base64.encodestring('hello world')

6.s2 = base64.decodestring(s1)

7.print s1,s2

8.

9.# aGVsbG8gd29ybGQ=\n

10.# hello world

11.

12.注: 这是最简单的方法了,但是不够保险,因为如果别人拿到你的密文,也可以自己解密来得到明文;

不过可以把密文字符串进行处理,如字母转换成数字或是特殊字符等,自己解密的时候在替换回去在

进行base64.decodestring,这样要安全很多。

13.

14.

15.

16.

17.2. 第二种方法是使用win32com.client

18.

19.import win32com.client

20.def encrypt(key,content): # key:密钥,content:明文

21. EncryptedData = win32com.client.Dispatch('CAPICOM.EncryptedData')

22. EncryptedData.Algorithm.KeyLength = 5

23. https://www.360docs.net/doc/d1343410.html, = 2

24. EncryptedData.SetSecret(key)

25. EncryptedData.Content = content

26. return EncryptedData.Encrypt()

27.

28.def decrypt(key,content): # key:密钥,content:密文

29. EncryptedData = win32com.client.Dispatch('CAPICOM.EncryptedData')

30. EncryptedData.Algorithm.KeyLength = 5

31. https://www.360docs.net/doc/d1343410.html, = 2

32. EncryptedData.SetSecret(key)

33. EncryptedData.Decrypt(content)

34. str = EncryptedData.Content

35. return str

36.

37.s1 = encrypt('lovebread', 'hello world')

38.s2 = decrypt('lovebread', s1)

39.print s1,s2

40.

41.# MGEGCSsGAQQBgjdYA6BUMFIGCisGAQQBgjdYAwGgRDBCAgMCAAECAmYBAgFABAgq

42.# GpllWj9cswQQh/fnBUZ6ijwKDTH9DLZmBgQYmfaZ3VFyS/lq391oDtjlcRFGnXpx

43.# lG7o

44.# hello world

45.

46.

47.注: 这种方法也很方便,而且可以设置自己的密钥,比第一种方法更加安全,如果对安全级别要求

不太高的话这种方法是加密解密的首选之策!

48.

49.

50.

51.3. 还有就是自己写加密解密算法,比如:

52.

53.def encrypt(key, s):

54. b = bytearray(str(s).encode("gbk"))

55. n = len(b) # 求出 b 的字节数

56. c = bytearray(n*2)

57. j = 0

58. for i in range(0, n):

59. b1 = b[i]

60. b2 = b1 ^ key # b1 = b2^ key

61. c1 = b2 % 16

62. c2 = b2 // 16 # b2 = c2*16 + c1

63. c1 = c1 + 65

64. c2 = c2 + 65 # c1,c2都是0~15之间的数,加上65就变成了A-P 的字符的编码

65. c[j] = c1

66. c[j+1] = c2

67. j = j+2

68. return c.decode("gbk")

69.

70.def decrypt(key, s):

71. c = bytearray(str(s).encode("gbk"))

72. n = len(c) # 计算 b 的字节数

73. if n % 2 != 0 :

74. return ""

75. n = n // 2

76. b = bytearray(n)

77. j = 0

78. for i in range(0, n):

79. c1 = c[j]

80. c2 = c[j+1]

81. j = j+2

82. c1 = c1 - 65

83. c2 = c2 - 65

84. b2 = c2*16 + c1

85. b1 = b2^ key

86. b[i]= b1

87. try:

88. return b.decode("gbk")

89. except:

90. return "failed"

91.

92.key = 15

93.s1 = encrypt(key, 'hello world')

94.s2 = decrypt(key, s1)

95.print s1,'\n',s2

96.

97.# HGKGDGDGAGPCIHAGNHDGLG

98.# hello world

99.

100.

101.注: 这是网上抄来的一个简单的例子,大家可以自定义自己算法进行加密解密;还有许许多多复杂的加密算法,大家可以自行查阅密码学的相关算法。

102.

103. 4.对于python来说,也可以把python源码文件编译成pyc二进制格式的文件,这样别人就看不到你的源码,也算是一种加密方法吧,方法如下:

104.执行命令python -m py_compile create_slave.py 可以直接生成一个create_slave.pyc文件,然后可以用create_slave.pyc来替换create_slave.py作为脚

本来执行。

本文由https://www.360docs.net/doc/d1343410.html,整理分享

python的中文处理

Python的中文处理 一、使用中文字符 在python源码中如果使用了中文字符,运行时会有错误,解决的办法是在源码的开头部分加入字符编码的声明,下面是一个例子: #!/usr/bin/env python # -*- coding: cp936 -*- Python Tutorial中指出,python的源文件可以编码ASCII以外的字符集,最好的做法是在#!行后面用一个特殊的注释行来定义字符集: # -*- coding: encoding -*- 根据这个声明,Python会尝试将文件中的字符编码转为encoding编码,并且,它尽可能的将指定地编码直接写成Unicode文本。 注意,coding:encoding只是告诉Python文件使用了encoding格式的编码,但是编辑器可能会以自己的方式存储.py文件,因此最后文件保存的时候还需要编码中选指定的ecoding 才行。 二、中文字符的存储 >>> str = u"中文" >>> str u'\xd6\xd0\xce\xc4' >>> str = "中文" >>> str '\xd6\xd0\xce\xc4' u"中文"只是声明unicode,实际的编码并没有变。这样子就发生变化了: >>> str = "中文" >>> str '\xd6\xd0\xce\xc4' >>> str = str.decode("gb2312") >>> str u'\u4e2d\u6587' 更进一步: >>> s = '中文' >>> s.decode('gb2312') u'\u4e2d\u6587' >>> len(s) 4 >>> len(s.decode('gb2312')) 2 >>> s = u'中文'

最新《笨办法学python》学习笔记

《笨办法学python》学习笔记(Python 3.6) 习题19 ex19.py # -*- coding: utf-8 -*- # 定义cheese_and_crackers这个函数,该函数有两个参数,分别是cheese_count 和boxes_of_crackers. # 函数其实就是个print的集合 def cheese_and_crackers(cheese_count,boxes_of_crackers): print("You have %d cheeses!" %cheese_count) print("You have %d boxes of crackers!" %boxes_of_crackers) print("Man that's enough for a party!") print("Get a blanket.\n") #屏幕上首先显示下一行的语句。 print("We can just give the function numbers directy:") # 调用了这个函数,带入两个参数(20, 30) cheese_and_crackers(20,30) print("OR,we can use variables from our script:") # 定义两个变量 amount_of_cheese=10 amount_of_crackers=50 #将定义的两个变量作为参数引入到函数中。 cheese_and_crackers(amount_of_cheese,amount_of_crackers) print("We can even do math inside too:") # 引入的参数是一个运算式 cheese_and_crackers(10+20,5+6) print("And we can combine the two,variables and math:") cheese_and_crackers(amount_of_cheese+100,amount_of_crackers+1000) #自编练习1 def my_exercise_prg(prg1,prg2): print("The fisrt number is %d." %prg1) print("The second number is %d."%prg2) print("The first number and the second number equals " ,end="") print(prg1+prg2,".") print("Let's do math!") prg1=2 prg2=7 my_exercise_prg(prg1,prg2) #自编练习2

python基础知识以九九乘法表实例学循环-字符串-列表推导式

Python基础知识:以九九乘法表实例学循环/字符串/ 列表推导式 九九乘法表可以说是我们每个人小的时候,学数认字以来第一个要背诵的数学口诀,没有人不认识它。 下面我们看看在python中如何实现它吧,实现的打印效果如下图所示: 方法1:常规思维版 定义了一个函数myFunc1,其思路同C/C++语言通用实现方法类似,使用两层for循环,外层控制行的转换,内层控制列的口诀输出,代码如下图所示: 打印结果信息时,使用了format函数转换为字符串。每列中每条口诀之间使用“\t”分割,每行之间使用上图的第15行代码换行。 方法2:优雅简洁版 定义了一个函数myFunc2,使用了join函数和列表推导式的

方法实现,代码如下图所示: 1、对于列表推导式,也可以参考例子: 其通用的书写形式如下: [表达式for 变量in 列表] 或者[表达式for 变量in 列表if 条件] 列表推导式内部也可以嵌套使用,如上面代码的实现。 2、对于join函数,其功能是将序列(如字符串、元组、列表等)中的元素以特定的分隔符连接成一个新的字符串。其使用格式如下: ‘‘sep’’.join(seq) 其中,sep是指分隔符,seq是要连接的元素序列。 完整的测试代码 完整的测试代码如下图所示: 说明:本例中python的运行版本是2.7.14,为实现print函数不换行打印的功能(第14行代码,python3系列可直接支持),所以增加了第9行代码“from __future__ import print_function”,以便python2系列中print函数能够支持end 关键字。

FishC工作室《零基础学习python》全套课后题

第一课 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比C语言、C++语言或Java 之类的系统编程语言要简单容易。 也让脚本语言另有一些属于脚本语言的特性: ?语法和结构通常比较简单 ?学习和使用通常比较简单 ?通常以容易修改程序的“解释”作为运行方式,而不需要“编译” ?程序的开发产能优于运行性能 一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。 1. IDLE 是什么? IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。 2. print() 的作用是什么? print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell 窗口)。 3. Python 中表示乘法的符号是什么? Python中的乘号是*(星号)。 4. 为什么>>>print('I love https://www.360docs.net/doc/d1343410.html, ' * 5) 可以正常执行, 但>>>print('I love https://www.360docs.net/doc/d1343410.html, ' + 5) 却报错?

Python基本操作题

1.请补充横线处的代码,让Python 帮你随机选一个饮品吧! import ____①____ (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(random. ____②____ (listC)) 参考答案: import random (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(listC)) 2.请补充横线处的代码,listA中存放了已点的餐单,让Python帮你增加一个“红烧肉”,去掉一个“水煮干丝”。 listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] listA. ____①____ ("红烧肉") ②____ ("水煮干丝") print(listA) 参考代码: listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] ("红烧肉") ("水煮干丝") print(listA) 3.请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。 dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} ___①____ for i in ____②____: sum += i print(sum) 参考代码: dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} sum = 0 for i in (): sum += i print(sum) 4.获得输入正整数 N,反转输出该正整数,不考虑异常情况。 参考代码: N = input() print(N[::-1]) 5. 给定一个数字123456,请采用宽度为25、右对齐方式打印输出,使用加号“+”填充。 参考代码: print("{:+>25}".format(123456)) 6.给定一个数字.9,请增加千位分隔符号,设置宽度为30、右对齐方式打印输出,使用空格填充。 参考代码:

FishC工作室《零基础学习python》全套课后题

第一节课 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比C语言、C++语言或Java 之类的系统编程语言要简单容易。也让脚本语言另有一些属于脚本语言的特性: 语法和结构通常比较简单 学习和使用通常比较简单 通常以容易修改程序的“解释”作为运行方式,而不需要“编译” 程序的开发产能优于运行性能 一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。 1. IDLE 是什么? IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。 2. print() 的作用是什么? print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell窗口)。 3. Python 中表示乘法的符号是什么? Python中的乘号是*(星号)。 4. 为什么 >>>print('I love https://www.360docs.net/doc/d1343410.html, ' * 5) 可以正常执行, 但 >>>print('I love https://www.360docs.net/doc/d1343410.html, ' + 5) 却报错? 在Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love https://www.360docs.net/doc/d1343410.html, ' + 5) 才会报错。这就像是在说“五只小甲 鱼加上苍井空会是多少?”一样没有多大意义,结果可能是五,可能是六,也可能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 "I love https://www.360docs.net/doc/d1343410.html," 这个字符串打印五次。 5. 如果我需要在一个字符串中嵌入一个双引号,正确的做法是? 你有两个选择:可以利用反斜杠(\)对双引号转义:\",或者用单引号引起这个字符串。例如:' I l"o"ve https://www.360docs.net/doc/d1343410.html, '。 6. 为什么我们要使用Python3?Python2到底有什么问题?看起来很多程序员依然都在使用Python2? 确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和WIN7 一样。在《零基础入门学习Python》的系列教程准备中,小甲鱼发觉Python3 中的新特性确实很妙,很值得进行深入学习!你也不用担心,如果你了解了Python3,Python2 的代码阅读对于你来说根本不成问题! 第二节课 0. 什么是BIF? BIF 就是Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如

python语言经典基础级案例(含源代码)

python语言经典案例(基础级) 案例1: 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用while 或for 语句,条件为输入的字符不为'\n'。 实例- 使用while 循环 #!/usr/bin/python # -*- coding: UTF-8 -*- import string s = raw_input('请输入一个字符串:\n') letters = 0 space = 0 digit = 0 others = 0 i=0 while i < len(s): c = s[i] i += 1 if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others) 实例- 使用for 循环 #!/usr/bin/python

# -*- coding: UTF-8 -*- import string s = raw_input('请输入一个字符串:\n') letters = 0 space = 0 digit = 0 others = 0 for c in s: if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others) 以上实例输出结果为: 案例2: 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 程序分析:无 程序源代码:

python字符串内置函数

a='helLO' print(a.title()) # 首字母大写a='1 2'

执行结果:1 2 1 2 1 2 00000001 2 1 2 3 4 5 6 7 8 # 3 字符串搜索相关 .find() # 搜索指定字符串,没有返回-1 .index() # 同上,但是找不到会报错 .rfind() # 从右边开始查找 .count() # 统计指定的字符串出现的次数 # 上面所有方法都可以用index代替,不同的是使用index查找不到会抛异常,而find s='hello world' print(s.find('e')) # 搜索指定字符串,没有返回-1 print(s.find('w',1,2)) # 顾头不顾尾,找不到则返回-1不会报错,找到了 则显示索引 print(s.index('w',1,2)) # 同上,但是找不到会报错 print(s.count('o')) # 统计指定的字符串出现的次数 print(s.rfind('l')) # 从右边开始查找 # 4字符串替换 .replace('old','new') # 替换old为new .replace('old','new',次数) # 替换指定次数的old为new s='hello world' print(s.replace('world','python')) print(s.replace('l','p',2)) print(s.replace('l','p',5)) 执行结果: hello python heppo world heppo worpd

# 5字符串去空格及去指定字符 .strip() # 去两边空格 .lstrip() # 去左边空格 .rstrip() # 去右边空格 .split() # 默认按空格分隔 .split('指定字符') # 按指定字符分割字符串为数组 s=' h e-l lo ' print(s) print(s.strip()) print(s.lstrip()) print(s.rstrip()) print(s.split('-')) print(s.split()) # 6字符串判断相关 .startswith('start') # 是否以start开头 .endswith('end') # 是否以end结尾 .isalnum() # 是否全为字母或数字 .isalpha() # 是否全字母 .isdigit() # 是否全数字 .islower() # 是否全小写 .isupper() # 是否全大写 .istitle() # 判断首字母是否为大写 .isspace() # 判断字符是否为空格 # 补充 bin() # 十进制数转八进制 hex() # 十进制数转十六进制 range() # 函数:可以生成一个整数序列 type() # 查看数据类型 len() # 计算字符串长度 format() # 格式化字符串,类似%s,传递值能多不能少

【IT专家】Python-分割字符串,尊重和保留引号[重复]

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Python:分割字符串,尊重和保留引号[重复] Python:分割字符串,尊重和保留引号[重复][英]Python: Split a string, respect and preserve quotes [duplicate]Using python, I want to split the following string: ?使用python,我想拆分如下字符串: a=foo, b=bar, c=“foo, bar”, d=false, e=“false” This should result in the following list: 这应导致下列清单: ?[‘a=foo’, ‘b=bar’, ‘c=“foo, bar”‘, ‘d=false’, ‘e=“false’”‘] When using shlex in posix-mode and splitting with “, “, the argument for cgets treated correctly. However, it removes the quotes. I need them because false is not the same as “false”, for instance. ?当在posix模式下使用shlex并使用“,”拆分时,clex的参数得到了正确的处理。但是,它删除了引号。我需要它们,因为false和false不一样。 My code so far: ?到目前为止我的代码: ?import shlexmystring = ‘a=foo, b=bar, c=“foo, bar”, d=false, e=“false”‘splitter = shlex.shlex(mystring, posix=True)splitter.whitespace += ‘,’splitter.whitespace_split = Trueprint list(splitter) # [‘a=foo’, ‘b=bar’, ‘c=foo, bar’, ‘d=false’, ‘e=false’] 19 s = r’a=foo, b=bar, c=“foo, bar”, d=false, e=“false”, f=“foo\”, bar”‘ re.findall(e (?: | )+ matches a sequence of non-delimiters and quoted strings, which is the desired result. 将模式2和3组合在一起(?: |)+匹配一个非分隔符和引号字符串序列,这是期望的结果。0 ?Regex can solve this easily enough: ?Regex可以很容易地解决这个问题: ?import remystring = ‘a=foo, b=bar, c=“foo, bar”, d=false, e=“false”‘splitString = re.split(‘,?\s(?=\w+=)’,mystring) The regex pattern here looks for a whitespace followed by a word character and then an equals sign which splits your string as you desire and maintains any quotes.

如何快速学会Python文档

如何快速学会Python文档How to learn Python documents quickly 编订:JinTai College

如何快速学会Python文档 小泰温馨提示:心得体会是指一种读书、实践后所写的感受性文字。 语言类读书心得同数学札记相近;体会是指将学习的东西运用到实践 中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。 本文档根据心得体会内容要求和针对主题是读书学习群体的特点展开 说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意 修改调整及打印。 一、什么是Python Python是一种计算机程序设计语言。是一种面向对象的 动态类型语言,最初被设计用于编写自动化脚本(shell), 随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 二、Python的职位发展有哪些 Python全栈开发工程师(10k-20K)Python运维开发工 程师(15k-20K)Python高级开发工程师(15k-30K)Python 大数据工程师(15K-30K)Python机器学习工程师(15k-30K)Python架构师(20k-40k)

目前应用最多的:全栈开发、数据分析、运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有结果的来走得更远。 三、该如何学好Python 1、明确目标 其实很多人在学习Python之前很少想这个,因为很多人说:现在Python很火呀,所以我才需要学。这个其实跟你自己没有什么关系,例如:你曾经想做一个网站不会开发,现在可以做了,现在Python很火并且你也要学来找工作,未来Python很火,我具备了Python的技能会不错。 所以我们首先要明确自己的目标,确定学习的决心,坚持自己的选择。 2、明确学习规划 ①.目前市场需求主流的岗位里,你得选择一个其中你目前看来可以学,并且最敢兴趣学习的方向; ②.在方向选择好后,对照招聘网站:拉勾、智联、Boss 直聘等网站的岗位要求,进行学习内容的统计与大概的记录;

Python 的内置字符串方法

字符串处理是非常常用的技能,但Python 内置字符串方法太多,常常遗忘,为了便于快速参考,特地依据Python 3.5.1 给每个内置方法写了示例并进行了归类,便于大家索引。 PS: 可以点击概览内的绿色标题进入相应分类或者通过右侧边栏文章目录快速索引相应方法。 概览 字符串大小写转换 ?str.capitalize() ?str.lower() ?str.casefold() ?str.swapcase() ?str.title() ?str.upper() 字符串格式输出 ?str.center(width[, fillchar]) ?str.ljust(width[, fillchar]); str.rjust(width[, fillchar]) ?str.zfill(width) ?str.expandtabs(tabsize=8)

?str.format(^args, ^^kwargs) ?str.format_map(mapping) 字符串搜索定位与替换 ?str.count(sub[, start[, end]]) ?str.find(sub[, start[, end]]); str.rfind(sub[, start[, end]]) ?str.index(sub[, start[, end]]); str.rindex(sub[, start[, end]]) ?str.replace(old, new[, count]) ?str.lstrip([chars]); str.rstrip([chars]); str.strip([chars]) ?static str.maketrans(x[, y[, z]]); str.translate(table) 字符串的联合与分割 ?str.join(iterable) ?str.partition(sep); str.rpartition(sep) ?str.split(sep=None, maxsplit=-1); str.rsplit(sep=None, maxsplit=-1) ?str.splitlines([keepends]) 字符串条件判断 ?str.endswith(suffix[, start[, end]]); str.startswith(prefix[, start[, end]]) ?str.isalnum() ?str.isalpha() ?str.isdecimal(); str.isdigit(); str.isnumeric() ?str.isidentifier()

python经典实例

1 输出你好 #打开新窗口,输入: #! /usr/bin/python # -*- coding: utf8 -*- s1=input("Input your name:") print("你好,%s" % s1) ''' 知识点: * input("某字符串")函数:显示"某字符串",并等待用户输入. * print()函数:如何打印. * 如何应用中文 * 如何用多行注释 ''' 2 输出字符串和数字 但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下: #! /usr/bin/python a=2 b="test" c=a+b 运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换 #! /usr/bin/python #运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换 a=2 b="test" c=str(a)+b d="1111" e=a+int(d) #How to print multiply values print ("c is %s,e is %i" % (c,e)) ''' 知识点: * 用int和str函数将字符串和数字进行转换 * 打印以#开头,而不是习惯的// * 打印多个参数的方式 '''

3 列表 #! /usr/bin/python # -*- coding: utf8 -*- #列表类似Javascript的数组,方便易用 #定义元组 word=['a','b','c','d','e','f','g'] #如何通过索引访问元组里的元素 a=word[2] print ("a is: "+a) b=word[1:3] print ("b is: ") print (b) # index 1 and 2 elements of word. c=word[:2] print ("c is: ") print (c) # index 0 and 1 elements of word. d=word[0:] print ("d is: ") print (d) # All elements of word. #元组可以合并 e=word[:2]+word[2:] print ("e is: ") print (e) # All elements of word. f=word[-1] print ("f is: ") print (f) # The last elements of word. g=word[-4:-2] print ("g is: ") print (g) # index 3 and 4 elements of word. h=word[-2:] print ("h is: ") print (h) # The last two elements. i=word[:-2] print ("i is: ") print (i) # Everything except the last two characters l=len(word) print ("Length of word is: "+ str(l)) print ("Adds new element") word.append('h') print (word) #删除元素 del word[0] print (word) del word[1:3] print (word) ''' 知识点:

python字符串常用函数

字符串常用函数 replace(string,old,new[,maxsplit]) 字符串的替换函数,把字符串中的old替换成new。默认是把string中所有的old值替换成new 值,如果给出maxsplit值,还可控制替换的个数,如果maxsplit为1,则只替换第一个old 值。 >>>a="11223344" >>>print string.replace(a,"1","one") oneone2223344 >>>print string.replace(a,"1","one",1) one12223344 capitalize(string) 该函数可把字符串的首个字符替换成大字。 >>> import string >>> print string.capitalize("python") Python split(string,sep=None,maxsplit=-1) 从string字符串中返回一个列表,以sep的值为分界符。 >>> import string >>> ip="192.168.3.3" >>> ip_list=string.split(ip,'.') >>> print ip_list ['192', '168', '3', '3'] all( iterable) 如果迭代的所有元素都是真就返回真。 >>> l = [0,1,2,3] >>> all(l) Flase >>> l = [1,2,3] >>> all(l) True any( iterable) 如果迭代中有一个元素为真就返回真。 >>> l = [0,1,2,3] >>> all(l) True >>> l = [1,2,3] >>> all(l) True basestring() 这个抽象类型是str和unicode的父类。它不能被调用或初始化,但是它可以使用来测试一

python学习心得

竭诚为您提供优质文档/双击可除 python学习心得 篇一:python学习经验分享 数据类型 print 输出,可以多个输出,用逗号分隔a=20printa,type(a) 20 type() 内置函数type(),用来查询变量的类型 a=20printtype(a) 基本数据类型? ? ? ?a=10int整数a=1.3float浮点数a=True真值 (True/False)a=hello!字符串 注:对于字符串来说,也可以用双引号 补充

计算结果为布尔类型 输出 补充 计算结果为浮点型 输出 序列 包括以下两种 ? ?tuple(定值表;也有翻译为元组)list(表) tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更一个序列作为另一个序列的元素 空序列 元素的引用 序列元素的下标从0开始 由于list的元素可变更,可以对list的某个元素赋值如果对tuple做赋值操作,会出错 范围引用 基本样式[下限:上限:步长] 在范围引用的时候,如果写明上限,那么这个上限本身不包括在内 尾部元素引用

如果s1[0:-1],那么最后一个元素不会被引用(再一次,不包括上限元素本身) 输出 字符串是元组 字符串是一种特殊的元素,因此可以执行元组的相关操作 输出 tuple中元素不可变,list中元素可变,但是如果tuple 中包含一个list,那么此list中的元素是可变的 输出 步进-1 表示分片将会从右至左进行而不是通常的从左至右 分片s以反转的顺序获取元素,即结果是偏移为4,3,2的元素 篇二:python学习报告 1、python学习报告学习目标 1.了解python的特性及用处。 2.熟悉python的基本语法。 3.能编写简单的python程序。 2、python的简单介绍 1.与perl一样,python也是一种解释语言,它完全采用面向对象的方式,语言结构介于c语言和perl语言之间。

Python内置的字符串处理函数整理字符串长度获取

Python内置的字符串处理函数整理字符串长度获取:len(str)例:print'%slengt By xuanfeng6666 at 2014-06-01 139 阅读 0 回复 0.0 希赛币 Python内置的字符串处理函数整理 ?字符串长度获取:len(str) 例:print '%s length=%d' % (str,len(str)) ?字母处理 全部大写:str.upper() 全部小写:str.lower() 大小写互换:str.swapcase() 首字母大写,其余小写:str.capitalize() 首字母大写:str.title() print '%s lower=%s' % (str,str.lower()) print '%s upper=%s' % (str,str.upper()) print '%s swapcase=%s' % (str,str.swapcase()) print '%s capitalize=%s' % (str,str.capitalize()) print '%s title=%s' % (str,str.title()) ?格式化相关 获取固定长度,右对齐,左边不够用空格补齐:str.rjust(width) 获取固定长度,左对齐,右边不够用空格补齐:str.ljust(width) 获取固定长度,中间对齐,两边不够用空格补齐:str.center(width) 获取固定长度,右对齐,左边不足用0补齐.zfill(width) print '%s ljust=%s' % (str,str.ljust(20))

学Python matplotlib(树地图)_光环大数据python培训

https://www.360docs.net/doc/d1343410.html, 学Python matplotlib(树地图)_光环大数据python培训 用可视化的方法来表达离散变量的数值情况,不仅仅可以使用条形图、饼图、 热力图,我们还可以借助于树地图来完成。树地图的思想就是通过方块的面积来 表示,面积越大,其代表的值就越大,反之亦然。今天要跟大家分享的就是如何 通过Ptyhon这个工具,完成树地图的绘制。 函数语法及参数 在Python中,可以借助于squarify包来绘制,即squarify.plot函数。首 先,我们来看一下这个函数的语法及参数含义: squarify.plot(sizes, norm_x=100, norm_y=100, color=None, label=None, value=None, alpha, **kwargs) sizes:指定离散变量各水平对应的数值,即反映树地图子块的面积大 小; norm_x:默认将x轴的范围限定在0-100之内; norm_y:默认将y轴的范围限定在0-100之内; color:自定义设置树地图子块的填充色; label:为每个子块指定标签; value:为每个子块添加数值大小的标签;

https://www.360docs.net/doc/d1343410.html, alpha:设置填充色的透明度; **kwargs:关键字参数,与条形图的关键字参数类似,如设置边框色、 边框粗细等; 介绍完了绘图所需要的函数,先来抛一个树地图的效果图,该图反映的是 2017年8月中央财政收入的主要来源情况: 树地图的绘制 图中的数据来自《中华人民共和国财政部》官网,具体可以从2017年8月 财政收支情况 (https://www.360docs.net/doc/d1343410.html,/zhengfuxinxi/tongjishuju/201709/t20170911_269 5830.html)查看。 # 导入第三方包import matplotlib.pyplot as pltimport squarify#中文 及负号处理办法plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'plt.rcParams['axes.unicode_minus'] = False# 创建数据name = ['国 内增值税','国内消费税','企业所得税','个人所得税', '进口增值税、 消费税','出口退税','城市维护建设税', '车辆购置税','印花税','资 源税','土地和房税','车船税烟叶税等']income = [3908,856,801,868,1361,1042,320,291,175,111,414,63] # 绘图 colors = ['steelblue','#9999ff','red','indianred', 'green','yellow','orange'] plot = squarify.plot(sizes = income, # 指定绘图数据label = name, # 指定标签 color = colors, # 指定自定义颜色 alpha = 0.6, # 指

Python如何针对任意多的分隔符拆分字符串操作

Python如何针对任意多的分隔符拆分字符串操作 本篇文章小编和大家分享一下Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作,文中会结合实例形式进行分析Python使用split()及正则表达式进行字符串拆分操作相关实现技巧,对Python开发感兴趣或者是想要学习Python开发技术的小伙伴可以参考下哦。 问题:将分隔符(以及分隔符之间的空格)不一致的字符串拆分为不同的字段。 解决方案:使用更为灵活的re.split()方法,该方法可以为分隔符指定多个模式。 说明:字符串对象的split()只能处理简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力。 # example.py # # Example of splitting a string on multiple delimiters using a regex import re #导入正则表达式模块 line = 'asdf fjdk; afed, fjek,asdf, foo' # (a) Splitting on space, comma, and semicolon parts = re.split(r'[;,\s]\s*', line) print(parts) # (b) 正则表达式模式中使用“捕获组”,需注意捕获组是否包含在括号中,使用捕获组导致匹配的文本也包含在最终结果中 fields = re.split(r'(;|,|\s)\s*', line) print(fields) # (c) 根据上文的分隔字符改进字符串的输出 values = fields[::2] delimiters = fields[1::2] delimiters.append('') print('value =', values) print('delimiters =', delimiters) newline = ''.join(v+d for v,d in zip(values, delimiters)) print('newline =', newline) # (d) 使用非捕获组(?:...)的形式实现用括号对正则表达式模式分组,且不输出分隔符 parts = re.split(r'(?:,|;|\s)\s*', line)

【IT专家】python 字符串操作

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 字符串操作 2017/08/24 0 name=“My \t name is {name} and age is {age}”print(name.capitalize()) #将name的值首字母大写print(name.count(“a”)) #输出a这个字符的出现的个数print(name.center(50,”-”)) #一共打印50个,其他用-代替print(name.endswith(“ex”)) #结尾是否包含exprint(name.expandtabs(tabsize=30)) #将字符串中的\t 转化为30个空格print(name[name.find(“name”):]) #find查找的意思字符串也可以进行切片,返回的结果为name及后面的一行内容 print(name.format(name=“wang”,age=23))print(name.format_map({“name”:”wang”,”age ”:23})) #字典的格式。。和format的结果一样print(“ab123”.isalnum()) #判断是否包含字母和数字,如果包含则返回为trueprint(“ab124”.isalpha()) #判断是否包含纯英文字符,如果是则返回为true,大小写不区分print(“122”.isdigit()) #判断是否为整数,如果为整数则返回为trueprint(“al1”.isidentifier()) #判断是不是一个合法的标识符(就是判断是不是合法的变量名)print(“aLL”.islower()) #判断是不是小写,是则返回trueprint(“aLL”.isnumeric()) #判断是不是数字,是则返回trueprint(“aLL”.isspace()) #判断是不是空格print(“My Name Is “.istitle()) #判断每个字符串的首字母大写,是的话就为trueprint(“my name is “.isupper())#判断是否是大写print(‘+’.join([‘1’,’2’,’3’])) #将列表的值转变为字符串的形式这个输出结果为:1+2+3print(name.ljust(50,”*”))print(name.rjust(50,”*”))print(“WANG”.lower())#将大写变成小写print(“wang”.upper()) #将小写边城大写print(“\nwang”.lstrip()) #取消左边的空格和回车print(“wang1\n”.rstrip())#去掉右边的空格和回车print(“ \nabng\n”.strip())#将左边和右边的空格和回车都去掉print(“wang han”.replace(‘a’,’A’,1))#将字符串中的a替换为大写的A,只替换其中一个print(‘wang wang’.rfind(‘a’)) #找到最右边的那个字符的下标print(‘1+2+3+4’.split(‘+’)) #以+号为分隔符,输出为列表的格式print(‘wang LI’.swapcase()) #将大写小反转print(‘wang han’.title()) #将每个字符串的首字母大写 ?tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

相关文档
最新文档