一天快速入门python_一天一语言:快速入门python

Python教程太过繁杂,针对的前提的没怎么接触过编程的人士,最近在学Python,特列出与C程序不同之处,方便C程序员快速入门。

编译执行

python本身是解释性语言,不需要编译,可以直接使用python执行

python xxx.py

如果你嫌麻烦,可以在脚本的第一行指定解释器,即可把开头的python省略

#!/usr/bin/python

# -*- coding: UTF-8 -*- #这行中文用户一定要写

直接可以xxx.py执行

结构

没有括号,采用缩进代替语言块声明

语句结尾没有分号

if,for,while和函数结尾带冒号":"

变量

变量赋值不需要声明类型,同一个变量可以反复赋值,而且可以是不同类型的变量

a =123 # a是整数

print a

a ='ABC' # a变为字符串

print a

字符可乘

print ‘=’*10 #等于‘==========’

格式化输出

有两种方式,一种是类似于C语言的print函数,一种是2.7版本以后增加的format函数;

print函数和C类似,只是后面使用的是%,如print "ID is %u and %u" % (num1,num2)

另一种就是format函数,format函数使用占位符号" {} "表示第几个输入,":"做格式限定,而且有多种方式

通过位置:

In [1]: '{0},{1}'.format('kzc',18)

Out[1]: 'kzc,18'

In [2]: 'first is {}, second is {}'.format('kzc',18)

Out[2]: 'first is kzc,second is 18'

In [3]: '{1},{0},{1}'.format('kzc',18)

Out[3]: '18,kzc,18'

通过关键字:

In [5]: '{name},{age}'.format(age=18,name='kzc')

Out[5]: 'kzc,18'

通过对象属性:

class Person:

def __init__(self,name,age):

self.name,self.age = name,age

def __str__(self):

return 'This guy is {self.name},is {self.age} old'.format(self=self)

In [2]: str(Person('kzc',18))

Out[2]: 'This guy is kzc,is 18 old'

通过数组下标:

In [7]: p=['kzc',18]

In [8]: '{0[0]},{0[1]}'.format(p)

Out[8]: 'kzc,18'

格式限定符:

In [54]: '{:b}'.format(17) # b表示二进制,x表示十六进制,o表示八进制

Out[54]: '10001'

In [16]: '{:0>8}'.format('189')

Out[16]: '00000189' #^、分别是居中、左对齐、右对齐,8为宽度,0表示填充位

字典

字典就是map

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

函数

如果想定义一个什么事也不做的空函数,可以用pass语句:

可以同时返回多个值 return x,y

切片

取一个list或tuple的部分元素,

L = ['Michael','Sarah','Tracy','Bob','Jack']

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。

如果第一个索引是0,还可以省略: L[:3],还支持负数 L[-2:-1]

迭代:

只要是可迭代对象,无论有无下标,都可以迭代,通过collections模块的Iterable类型判断

>>>from collections import Iterable

>>>isinstance('abc', Iterable) # str是否可迭代

True

>>>d = {'a':1,'b':2,'c':3}

>>>for key in d:

print key

列表生成式

生成[1x1, 2x2, 3x3, ..., 10x10]

>>> [x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

>>> [x * x for x in range(1, 11) if x % 2 == 0]

[4, 16, 36, 64, 100]

>>> [m + n for m in 'ABC' for n in 'XYZ']

['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

装饰符

闭包

@property

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值