请选择 进入手机版 | 继续访问电脑版
楼主: ookiddy
4412 3

[源码分享] 【量化实验室q.datayes.com】量化分析师的Python日记【第2天:再接着介绍一下Python】 [推广有奖]

  • 0关注
  • 3粉丝

高中生

62%

还不是VIP/贵宾

-

威望
0
论坛币
847 个
通用积分
0
学术水平
9 点
热心指数
9 点
信用等级
9 点
经验
2426 点
帖子
17
精华
0
在线时间
23 小时
注册时间
2006-8-24
最后登录
2022-12-20

ookiddy 发表于 2015-5-6 09:40:21 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

q.datayes.com

谁来给我讲讲Python

第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数、循环和条件、类,这样才算对Python有一个大致的了解。今天的学习大纲如下:

三、函数

1、定义函数

四、循环与条件

1、if语句

2、while true/break语句

3、for语句

4、列表推导式

五、类

1、闲说类与对象

2、定义一个类

三,函数

1、定义函数

(1)定义规则

介绍列表方法的时候已经大概说过函数,学过数学的人都知道函数,给一个参数返回一个值。函数也可以自己定义。用如下的格式:

>>>def 函数名(参数): 输入函数代码

函数代码中,return表示返回的值。比如定义一个平方函数square(x),输入参数x,返回x的平方:


1

def square(x):return x*x


2


3

square(9)


81

(2)定义变参数函数

有时需要定义参数个数可变的函数,有几个方法可以做到:


  • 给参数指定默认值

比如,定义参数f(a,b=1,c=’hehe’),那么在调用的时候,后面两个参数可以定义也可以不定义,不定义的话默认为b=1,c=’hehe’,因此如下调用都可以:

F(‘dsds’);

F(‘dsds’,2);

F(‘dsds’,2,’hdasda’);


  • 参数关键字

上面的方法等于固定了参数的位置,第一个值就是第一个参数的赋值。而“参数关键字”方法,其实是固定了参数关键字,比如仍然定义参数 f(a,b=1,c=’hehe’),调用的时候可以用关键字来固定:

F(b=2,a=11)

位置可以动,只要参数关键指出来就可以了。

四、循环与条件

注意Python是用缩进来标识出哪一段属于本循环。

1、if语句

也是注意一是缩进,二是条件后面有冒号:


1

j=2.67


2

if j<3:


3

    print 'j<3'


j<3


对于多条件,注意的是elseif要写成elif,标准格式为:

if 条件1:

执行语句1


elif 条件2:

执行语句2


else:

执行语句3


注意if…elif…else三个是并列的,不能有缩进:


1

t=3


2

if t<3:


3

    print 't<3'


4

elif t==3:


5

    print 't=3'


6

else:


7

    print 't>3'


t=3


2、while true/break语句

该语句的格式为

while true即条件为真:

     执行语句

    if中断语句条件 : break


看个例子:


1

a=3


2

while a<10:


3

    a=a+1


4

    print a


5

    if a==8: break


4


5

6

7

8

虽然while后面的条件是a<10,即a小于10的时候一直执行,但是if条件中规定了a为8时就break掉,因此,输出只能输到8。

3、for语句

不多说了,可以遍历一个序列/字典等。


1

a=[1,2,3,4,5]


2

for i in a:


3

    print i


1


2

3

4

5

5、列表推导式:轻量级循环

列表推导式,是利用其它列表来创建一个新列表的方法,工作方式类似于for循环,格式为:

[输出值 for 条件]

当满足条件时,输出一个值,最终形成一个列表:


1

[x*x for x in range(10)]


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


1

[x*x for x in range(10) if x%3==0]


[0, 9, 36, 81]

如上的例子就是利用序列[0,1,2,3,4,5,6,7,8,9],生成了一个新的序列。

六、类

作为第二天的Python学习,先对类有一个大致的印象吧。

1、闲说类与对象 类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。

而对象,是类的一个具体。它是一个实实在在存在的东西。如果上面说的“人”是一个抽象的类,那么你自己,就是这个类里一个具体的对象。

一个类的对象,也叫一个类的实例。再打个比方,类好比一个模具,对象就是用这个模具造出来的具有相同属性和方法的具体事物,俗话说:“他俩真像,好像一个模子刻出来的”,就是指的这个意思。 那么用这个模具造一个具体事物,就叫类的实例化。下面看一个具体的类:

2、定义一个类


1

class boy:


2

    gender='male'


3

    interest='girl'


4

    def say(self):


5

        return 'i am a boy'


上面的语句定义了一个类boy,我们来根据这儿类的模型构造一个具体的对象:


1

peter=boy()


现在来看看peter这个具体的实例有哪些属性和方法。

“什么叫属性和方法?”

它们都是“类”的两种表现,静态的叫属性,动态的叫方法。比如“人”类的属性有姓名、性别、身高、年龄、体重等等,“人”类的方法有走、跑、跳等等。


1

peter.gender


'male'


1

peter.interest


'girl'


1

peter.say()


'i am a boy'

这里gender和interest是peter的属性,而say是他的方法。如果再实例化另一个对象比如sam:


1

sam=boy()


那么sam和peter有一样的属性和方法,可以说,“他们真是一个模子刻出来的!”


q.datayes.com

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Data 量化分析 分析师 Yes 实验室 分析师 日记

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
kychan + 20 + 1 + 1 + 1 精彩帖子
jerker + 48 精彩帖子
fantuanxiaot + 33 + 33 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 53  论坛币 + 81  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

本帖被以下文库推荐

离歌レ笑 在职认证  发表于 2015-5-6 09:53:41 |显示全部楼层 |坛友微信交流群
thanks for sharing

使用道具

kychan 学生认证  发表于 2015-5-6 11:20:05 |显示全部楼层 |坛友微信交流群
感谢分享!

使用道具

hkmonte 发表于 2015-5-7 23:22:00 |显示全部楼层 |坛友微信交流群
谢谢分享!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 03:08