设为首页 收藏本站
查看: 1018|回复: 0

[经验分享] python 3快速入门之基本操作和函数

[复制链接]

尚未签到

发表于 2015-4-20 13:48:50 | 显示全部楼层 |阅读模式
  最近由于一些活动原因需要看一下python,python目测有两个主流版本,2.7,3.3但是貌似3.3正在蓬勃发展,所以准备学习它。
  但是教程偏少,而且都是2.7,也有不错的教程是在官网。。英文。。
  这里假设已有c或者c#编程基础
  windows上的安装方法
从官方或站长百科下载点下载最新版本的
Python Windows 安装程序,下载.exe 安装文件。http://www.python.org/
vs2012可以安装插件 http://pytools.codeplex.com/releases/view/82130
好了安装完了就启动IDLE 或者vs2012也可以
废话不多说
首先展示一下python的一些令人惊奇的特性,强大的灵活性



>>> def doubi(a,b):
b=a+b
return b
>>> doubi('sd','dsd')
'sddsd'
>>> doubi(1,5)
6
>>> doubi(1,'1')
Traceback (most recent call last):
File "", line 1, in
doubi(1,'1')
File "", line 2, in doubi
b=a+b
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
  
这是一个函数完成的功能,同样是一个函数,输入字符串和数字会执行完全不同的计算方式,非常灵活。而且在这里不需要任何头文件和所谓的main函数直接执行
而且语言非常简洁
而且和其他的语言一样,可以使用类库和模块文件,我将在第二篇笔记中提到
  print()基本输出
input()基本输入
所谓申明。。。a=1
就当a前面有一个var,也就是可以自动判断赋值内容来决定变量类型
  注释的方法是在想注释的语句前加#
  -----------------------------------------------------------------------------------------------------------------------------------
  输入以及基本的if



>>> x = int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
x = 0
print('Negative changed to zero')
elif x == 0:
print('Zero')
elif x == 1:
print('Single')
else:
print('More')
More
  -----------------------------------------------------------------------------------------------------------------------------------
  for语句基本



>>> # Measure some strings:
a = ['cat', 'window', 'defenestrate']
>>> for x in a:
print(x, len(x))
  cat 3
  window 6
  defenestrate 12
  至于break与continue还是原来的用法
  len()既可以测试字符串的长度,又可以计算数组or集合中元素的个数
  这里既然涉及了字符串,这也是一个非常大的话题,这里先提到一点
可以使用' ' " "来包含字符串,当然还有一种""" """



>>> """wangji
dahaoren"""
'wangji\ndahaoren'
  在以后详细研究
  -----------------------------------------------------------------------------------------------------------------------------------
  这个函数range
range(结束值)起始为0,步长为一
range(起始值,结束值)步长为一
range(起始值,结束值,步长)



>>> for i in range(-10, -100, -30):
print(i)   
-10
-40
-70
  -----------------------------------------------------------------------------------------------------------------------------------
  pass  这个东西什么都不做。。,但是在控制某些代码格式的时候有很大作用,比如我创建一个类里,但是类里我什么都不放,然后跳出这个类的定义可以用pass(虽然没有实际含义。但是高手经常会用,增加了代码可读性,人性化的东西)
  这里我们可以注意一下,在python中我们可以理解为在其他的语言中出现的{}可以被:代替,这样我们更好理解。
  -----------------------------------------------------------------------------------------------------------------------------------
  def其实就是声明了一个函数的意思
声明函数并使用
首先来一个类似没有返回值的方法--其实是返回了null



>>> def fib(n):
"""Print aFibonacci series up to n"""
a,b=0,1
while a>> fib(2000)
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
  这会有返回值了,返回了一个链表



>>> def fib2(n):
result=[]
a,b=0,1
while a>> fsda=fib2(200)
>>> fsda
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]
  同样支持带有默认值的形参



>>> def ask_ok(prompt, retries=4,complaint='Yes or no ,please!'):
while True:
ok=input(prompt)
if ok in('y','ye','yes'):
return True
if ok in('n','no','nop','nope'):
return False
retries=retries-1
if retries>> ask_ok('Are you a doubi?')
Are you a doubi?no
False
  第二次实验



>>> ask_ok('Are you a doubi?',2)
Are you a doubi?doubihao
Yes or no ,please!
Are you a doubi?wobushidoubi
Yes or no ,please!
Are you a doubi?minashangohayou
Traceback (most recent call last):
File "", line 1, in
ask_ok('Are you a doubi?',2)
File "", line 10, in ask_ok
raise IOError('refusenik user')
OSError: refusenik user
  in关键字
测定序列中知否包含某个值
  ********重要提示
默认值只被赋值一次,这个最好拿链表说话



>>> def tryy1(a,listt=[]):
listt.append(a)
return listt
>>> tryy1(1)
[1]
>>> tryy1(2)
[1, 2]
>>> tryy1(3)
[1, 2, 3]
  我们可以理解为这是一个静态的局部变量。。
  -----------------------------------------------------------------------------------------------------------------------------------
  还有一种传入参数的方法关键字传入法,说白了就是可以改变向函数中输入参数的顺序还是以刚才的测试为例



>>> tryy1(listt=['doubi','dadoubi'],a=5)
['doubi', 'dadoubi', 5]
>>> tryy1(listt=['doubi','dadoubi'],1)
SyntaxError: non-keyword arg after keyword arg
  使用了关键字传入后面必须使用关键字传入(你不用关键字,电脑不知道你后面对应的是什么,使用关键字即为打乱原有顺序(就算你没有打乱,电脑也是用了另一种方法对应形参))
  (任何时候都要把握两个原则:1、不要有数值没有被初始化2、把话说明白了,不作死就不会死(什么意思,赋值时请按照常规思想,而且只要出现了关键字后面对应形参的顺序就不好定了,所以后面也要 用关键字))
  (一些思考,要以编写者的意图去适应一门语言,而不是去死套规则,要理解每个规则的意义而不是盲目地去匹配,这样学习语言就可以事半功倍,而且很多语言都是共通的)



>>> def make_incrementor(n):
return lambda x: x + n
>>> f=make_incrementor(1)
>>> f(1)
2
>>> f(2)
3
  这里么。。。lambda声明了一个匿名函数return x+n 调用方法就是对象名()
  到这里就可以完成一些基本的操作了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58929-1-1.html 上篇帖子: 线程安全及Python中的GIL 下篇帖子: 运行python程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表