python应用范围总结概览_Python学习 - 概览

最近空了些,学习一些有意思的东东。主要是看网上的教材,这篇也是边看编写的。

输入和输出

输入:raw_input(),输入形式为字符串格式

>>> name = raw_input('input sth:')

input sth:Michael

>>>name

'Michael'

>>>birth = int(raw_input('birth: '))

birth: 1485

>>> birth

1485

这样就把输入的字符串转换为整型了。

输出:print

print 'The quick brown fox', 'jumps over', 'the lazy dog'

>>> The quick brown fox jumps over the lazy dog

数据类型和变量

Python可以没有大括号{}和分号,用缩进替代{},程序区分大小写。

比如:

name = raw_input('enter a number:')

if name >= 0:

print name

elif name < 0:

print -name

else:

print 'not a number'

包括了整数(ox表示十六进制),浮点数(1.23e9=1.23 x 10的9次方),字符串(\为转义字符),布尔值(True,False,可以用and,or,not运算),空值(None)

数据类型包括变量和常量。常量通常用大写字母表示(类似C++的define)。

Python的变量赋值类似指针

a = 'ABC'

b = a

a = 'XYZ'

print b

最后结果是XYZ

字符串和编码

计算机能处理的是二进制文件,就需要把字符串转化为二进制数字进行保存。最早时采用的是ASCII编码方式,用一个字节(8位)把字母编码到计算机里,比如A对应数字65,z对应122。其他语言也需要进行相应的编码,比如GB2312编码中文(两个字节)。在不同语言采用不同编码保存时,读取字符串就成了问题。

因此有了Unicode,把所有语言用一种方式编码。但有时Unicode占用内存较浪费,比如A只需要一个字节的内存,事实上多过一个字节,就又有了UTF-8编码,智能化字符串的编码方式,节省内存。

Unicode转换为UTF-8保存到文件::

PythonLearning1.png

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器::

PythonLearning2.png

文件保存的是UTF-8的编码方式,打开时变为Unicode编码方式。

Python的出现比Unicode早,普通的字符串用ASCII编码

>>> ord('A')

65

>>> chr(65)

'A'

后来增加了对Unicode的支持

>>> print u'中文'

中文

>>> u'中'

u'\u4e2d'

Unicode编码转换未utf-8编码

>>> u'ABC'.encode('utf-8')

'ABC'

>>> u'中文'.encode('utf-8')

'\xe4\xb8\xad\xe6\x96\x87'

utf-8转换为unicode

>>> 'abc'.decode('utf-8')

u'abc'

>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

u'\u4e2d\u6587'

>>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

中文

在代码中包含中文时,就需要用UTF-8编码读取,在文件头加一行

# -*- coding: utf-8 -*-

Python也可以使用格式化输出。

>>> 'Hello, %s' % 'world'

'Hello, world'

>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)

'Hi, Michael, you have $1000000.'

使用list和tuple

list类似objective-c下的NSMutableArray,

>>> classmates = ['Michael', 'Bob', 'Tracy']

>>> classmates

['Michael', 'Bob', 'Tracy']

可以使用len(classmates)计算list元素个数,classmates[-1]获取list最后一个

元素。

在list最后增加一个元素

>>> classmates.append('Adam')

>>> classmates

['Michael', 'Bob', 'Tracy', 'Adam']

在某个index插入一个元素

>>> classmates.insert(1, 'Jack')

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

删除list的最后一个元素classmates.pop(),删除某个index的元素classmates.pop(i)。

tuple是另一种有序元祖,与list类似,但是tuple一旦初始化后就不能修改了。

>>> t = (1, 2)

>>> t

(1, 2)

如果只定义一个元素,采用t = (1),则t不是一个tuple,而是一个整形数字,因为()也可以认为是数学公式中的小括号。可以通过加上,来区分tuple和单个数字t = (1, ),python在显示只有一个元组的tuple时,也会加上,。

tuple也可以是可变的,比如:

>>> t = ('a', 'b', ['A', 'B'])

>>> t[2][0] = 'X'

>>> t[2][1] = 'Y'

>>> t

('a', 'b', ['X', 'Y'])

tuple有一个元素是list,而list是可变的。这段代码的两幅图:

PythonLearning3.png

PythonLearning4.png

条件判断

两段代码就可以大概知道Python下的if else了。

Python省去了{},使用缩进代替。

age = 3

if age >= 18:

print 'your age is', age

print 'adult'

else:

print 'your age is', age

print 'teenager'

age = 20

if age >= 6:

print 'teenager'

elif age >= 18:

print 'adult'

else:

print 'kid'

#如果只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

if x:

print 'True';

Python下的for循环

names = ['Michael', 'Bob', 'Tracy']

for name in names:

print name

sum = 0

for x in range(101):

sum = sum + x

print sum

range(101) = [0,1,2,3....100]

还有一种是while循环

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 1

print sum

使用dict和set

dict是一种key-value数据存储格式。

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

>>> d['Michael']

95

判断某dict中是否存在某个键值。

>>> d.get('Thomas')

>>> d.get('Thomas', -1)//-1为自定义返回值

-1

>>> 'Thomas' in d

False

用pop(key)删除dic中的某个特定键值对,比如d.pop('Bob')

string对象在Python中是不可变的。

>>> a = 'abc'

>>> b = a.replace('a', 'A')

>>> b

'Abc'

>>> a

'abc'

a.replace('a','A'),返回一个新的字符串Abc,原来的a并没有改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值