Pycharm破解|Pycharm序列号

JetBrains PyCharm谁用谁知道。。这里扩散下。

亲测两枚序列号,不用额外破解了。

Pycharm序列号(一)

pycharm
========= Sjolzy.cn =========  
61667-12042010
0000285EqkWlIA2ky6BoNqCag!fvO3
j2ICltgk6kiG8IjRMEfE17TsxSr4EF
b60Y9vBcUyQ6y0XdSjYF!b”E7f09oD
=========== Sjolzy.cn =============

Pycharm序列号
(二)

EMBRACE
========= Sjolzy.cn ========= 
14203-12042010
0000107Iq75C621P7X1SFnpJDivKnX
6zcwYOYaGK3euO3ehd1MiTT"2!Jny8
bff9VcTSJk7sRDLqKRVz1XGKbMqw3G
=========== Sjolzy.cn =============

Python内置的字符串处理函数整理

收集常用的Python
内置的各种字符串处理
函数的使用方法

str='python String function'

  1. 生成字符串变量str='python String function'
     
  2. 字符串长度获取:len(str)
    例:print '%s length=%d' % (str,len(str))
     
  3. 字母处理
    全部大写: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())
  4. 格式化相关
    获取固定长度,右对齐,左边不够用空格补齐:str.ljust(width)
    获取固定长度,左对齐,右边不够用空格补齐:str.ljust(width)
    获取固定长度,中间对齐,两边不够用空格补齐:str.ljust(width)
    获取固定长度,右对齐,左边不足用0补齐
    print '%s ljust=%s' % (str,str.ljust(20))
    print '%s rjust=%s' % (str,str.rjust(20))
    print '%s center=%s' % (str,str.center(20))
    print '%s zfill=%s' % (str,str.zfill(20))

  5. 字符串搜索相关
    搜索指定字符串,没有返回-1:str.find('t')
    指定起始位置搜索:str.find('t',start)
    指定起始及结束位置搜索:str.find('t',start,end)
    从右边开始查找:str.rfind('t')
    搜索到多少个指定字符串:str.count('t')
    上面所有方法都可用index代替,不同的是使用index查找不到会抛异常,而find返回-1
    print '%s find nono=%d' % (str,str.find('nono'))
    print '%s find t=%d' % (str,str.find('t'))
    print '%s find t from %d=%d' % (str,1,str.find('t',1))
    print '%s find t from %d to %d=%d' % (str,1,2,str.find('t',1,2))
    #print '%s index nono ' % (str,str.index('nono',1,2))
    print '%s rfind t=%d' % (str,str.rfind('t'))
    print '%s count t=%d' % (str,str.count('t'))

  6. 字符串替换相关
    替换old为new:str.replace('old','new')
    替换指定次数的old为new:str.replace('old','new',maxReplaceTimes)
    print '%s replace t to *=%s' % (str,str.replace('t', '*'))
    print '%s replace t to *=%s' % (str,str.replace('t', '*',1))

  7. 字符串去空格及去指定字符
    去两边空格:str.strip()
    去左空格:str.lstrip()
    去右空格:str.rstrip()
    去两边字符串:str.strip('d'),相应的也有lstrip,rstrip
    str=' python String function '
    print '%s strip=%s' % (str,str.strip())
    str='python String function'
    print '%s strip=%s' % (str,str.strip('d'))

  8. 按指定字符分割字符串为数组:str.split(' ')
    默认按空格分隔
    str='a b c de'
    print '%s strip=%s' % (str,str.split())
    str='a-b-c-de'
    print '%s strip=%s' % (str,str.split('-'))

  9. 字符串判断相关
    是否以start开头:str.startswith('start')
    是否以end结尾:str.endswith('end')
    是否全为字母或数字:str.isalnum()
    是否全字母:str.isalpha()
    是否全数字:str.isdigit()
    是否全小写:str.islower()
    是否全大写:str.isupper()
    str='python String function'
    print '%s startwith t=%s' % (str,str.startswith('t'))
    print '%s endwith d=%s' % (str,str.endswith('d'))
    print '%s isalnum=%s' % (str,str.isalnum())
    str='pythonStringfunction'
    print '%s isalnum=%s' % (str,str.isalnum())
    print '%s isalpha=%s' % (str,str.isalpha())
    print '%s isupper=%s' % (str,str.isupper())
    print '%s islower=%s' % (str,str.islower())
    print '%s isdigit=%s' % (str,str.isdigit())
    str='3423'
    print '%s isdigit=%s' % (str,str.isdigit())

还有其他常见的Python字符串处理
函数的话不定期更新。

恍然大悟PHP和PYTHON和RUBY的关系

PHP和PYTHON和RUBY三者的关系简单的各用一句话来概括:

PHP一句话来总结就是:Quick And Dirty 
PYTHON用一句话来总结就是:Quick And Clean, But Not Convenient For Web Development 
RUBY用一句话来总结就是:Code For Fun And Quick For Web

发现和很多网友的IT历程一样,先经历PHP然后接触PYTHON跟着RUBY。

PHP必须会因为很多应用级的程序都用它,PYTHON肯定要精因为很喜欢它。。RUBY也许也会学好它听说帮助开阔思维。

当然。。其实没啥必然关系。。。

标签: php, Python, 关系, ruby

Python的内建比较函数cmp比较原理剖析

cmp( x, y):比较2个对象,前者小于后者返回-1,相等则返回0,大于后者返回1.

Python的cmp比较函数比较原理

Python的cmp函数可以比较同类型之间,或者不同数据类型之间。然后根据Python的cmp比较函数的返回值来判定比较大小。

>>> list1, list2 = [123, 'xyz'], [456, 'abc']
>>> cmp(list1, list2)
-1

>>> cmp(list2, list1)
1
>>> list3 = list2 + [789]
>>> list3
[456, 'abc', 789]

>>> cmp(list2, list3)
-1

观察上面cmp函数的几个比较,可以总结:

Python的cmp比较函数
,如果我们比较的是两个同类的对象,比较操作是非常直观的。

  • 数字和字符串的比较,直接比较它们的值。
     
  • 对于序列类型的比较,方式上有相似。Python在两个对象基本不能比较的时候尽量做出公平的结果。比如当两个对象没有关系时,或者两种类型根本就没有用于比较的函数时,这时 Python只能根据"逻辑"来做出结论。比较的算法逻辑:
    1.   对两个列表的元素进行比较.
    2.   如果比较的元素是同类型的,则比较其值,返回结果.
    3.   如果两个元素不是同一种类型,则检查它们是否是数字.
         a. 如果是数字,执行必要的数字强制类型转换,然后比较.
         b. 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
         c. 否则,通过类型名字的字母顺序进行比较.
    4.   如果有一个列表首先到达末尾,则另一个长一点的列表"大".
    5.   如果我们用尽了两个列表的元素而且所有元素都是相等的,那么结果就是个平局,就
    是说返回一个 0.

这就是Python的cmp函数比较原理
了。

Python通用序列类型数据的操作

Python的序列

Python有6种内建的序列,包括:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。其中最为常用的是Python的列表和元组。

Python序列的应用

Python在操作一组数据时,通常是用序列来表示这组信息。(序列也可以包含其他序列)

Python还有一种叫做容器的数据结构。容器是包含其他对象的任意对象。序列(如元组和列表)和映射(比如字典)就是两类主要的容器。

序列的每个元素有自己的编号(元组可以作为字典的键名),而映射的每个元素则有一个自己的名字(键)。另外还有种容器类型既不是序列也不是映射,叫做集合。

通用的序列操作

所有序列类型的数据结构都可以进行某些特定的操作,如;索引
分片


和检查每个元素是否属于序列的成员(成员资格
)。

索引

序列的所有元素都有自己的编号,从0开始,通过编号访问即为索引。

>>>indexing = 'python'
>>>indexing[1]
'y'
>>>indexing[-1]
'n'

或者字符串直接索引

>>>'python'[0]
'p'

分片

使用索引是用来访问单个元素,而使用分片操作是用来访问一定范围内的元素。分片是通过冒号相隔的两个索引来实现。

>>>sliceing = '<a href="//sjolzy.cn/">python</a>'
>>>sliceing[9:26]
'//sjolzy.cn/'
>>>num= [1,2,3,4,5,6]
>>>num[3:6]
[4, 5, 6]
>>>num[-3:-1]
[4, 5]
>>>num[-3:]
[4, 5, 6]
>>>num[:]
[1,2,3,4,5,6]

分片有个隐式的设置:步长。上面的步长都为1。

比如:

>>>num= [1,2,3,4,5,6]
>>>num[3:6:1] #这边是个隐藏的步长1
[4, 5, 6]
>>>num[3:6:2] #步长改为2
[4, 6]

序列相加

通过加号来进行序列的连接操作。

>>>[1,2]+[3,4]
[1,2,3,4]
>>>[1,2]+'python'
TypeError: can only concatenate list (not "str") to list
#报错了,相同类型的序列才能进行连接操作。

乘法

用数字x乘以一个序列得到新的序列,新的序列为原来的序列重复x次。

>>>[1] * 3
[1, 1, 1]

成员资格 (检测元素是否属于序列的成员)

要检查一个值是否在序列中,可以使用in运算符。返回的是布尔值。

>>>per = 'python'
>>>'py' in per
True

注:in是区分大小写的。

Python为什么要self

接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因。晚上特别针对Python的self查了一下,理理。

Python为什么要使用self的原因

Python要self的理由

Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数
(self
),但在调用这个方法的时候不必为这个参数赋值
显胜于隐
的引发)。Python的类的方法的这个特别的参数指代的是对象本身,而按照Python的惯例,它用self来表示。(当然我们也可以用其他任何名称来代替,只是规范和标准在那建议我们一致使用self)

为何Python给self赋值而你不必给self赋值?

例子说明:创建了一个类MyClass,实例化MyClass得到了MyObject这个对象,然后调用这个对象的方法MyObject.method(arg1,arg2)
,这个过程中,Python会自动转为Myclass.mehod(MyObject,arg1,arg2)

这就是Python的self的原理了。即使你的类的方法不需要任何参数,但还是得给这个方法定义一个self参数,虽然我们在实例化调用的时候不用理会这个参数不用给它赋值。

实例:

class Python:
 def selfDemo(self):
  print 'Python,why self?'
p = Python()
p.selfDemo()

输出:Python,why self?

把p.selfDemo()带个参数如:p.selfDemo(p),得到同样的输出结果

如果把self去掉的话,

 

class Python:
 def selfDemo():
  print 'Python,why self?'
p = Python()
p.selfDemo()

这样就报错了:TypeError: selfDemo() takes no arguments (1 given)

扩展

self在Python里不是关键字。self代表当前对象的地址。self能避免非限定调用造成的全局变量。

在Python3之后不知道将self隐了没?感觉在Python类里的方法都要带个self这样有点死板