【和我一起学python吧】python入门语法总结
- 1.python是一个解释性语言:
- 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。
- 而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
- 2.查询机器是否安装python成功:python -V
- 3.得到类的帮助文档:
- help('str')#得到str类的文档
- help(list)#得到list类的文档字符串
- 4.python中有4中类型的数:整数、长整数、浮点数和复数。 #(-5+4j)和(2.3-4.6j)是复数的例子。
- 5.自然字符串通过在字符串全面添加前缀r或者R来指定。一定要用自然字符串处理正则表达式
- 例如:r"Newlines are indicated by \n"。
- 6.字符串自动级连,例如,'What\'s' 'your name?'会被自动转为"What's your name?"。
- 7.在多个物理行写一个逻辑行的例子:
- s = 'This is a string. \
- This continues the string.'
- print s
- 它的输出:This is a string. This continues the string.
- 8.有一个特殊的运算符号:// 表示取整除。例如:4 // 3.0得到1.0
- lambda运算符!!
- 9.python自动为字符串中间添加一个空格:
- print 'Area is', area
- 10.得到用户在屏幕的输入:raw_input('Enter an integer : ')
- 例如:guess = int(raw_input('Enter an integer : ')) 将输入的数据转换为int
- 11.在python中没有switch语句!使用
- if True:
- elif 条件二:
- else:
- 注意最后没有end if!!
- 12.while 条件:
- 语句
- else:
- 语句
- 在while可以使用else从句,有点多余。
- 13.for语句:
- for i in range(1, 5):
- print i
- else: #也有else语句,有点多余。
- print 'The for loop is over'
- 14.得到字符串的长度:len(str)
- 15.在循环中可以使用continue语句。。
- 16.在函数中定义全局变量:使用global关键字。
- def func():
- global x #全局的x变量。同一个global语句指定多个全局变量。例如global x, y, z
- 参数中可以有默认的值,但是在形参末尾的那些参数才可以有默认参数:def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的。
- 函数的参数调用可以使用关键参数,使用名字来给函数指定实参。
- 17.文档字符串的管理:它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述
- 例如:
- '''''Prints the maximum of two numbers.
- The two values must be integers.'''
- 查看文档字符串的方法:print printMax.__doc__ #调用文档字符串的属性!!注意双下划线!或者help(printMax)
- 18.使用python的标准库:import sys
- 可以通过help(sys)查看模块的内容!
- 常用:sys.argv包含了 命令行参数
- 19..pyc文件:字节编译的文件 与平台无关,与python变换程序的中间态有关。
- 20.from .. import语句:可以from sys import argv #这样就只引入一个sys.argv这个变量。
- 21.小技巧:使用模块的__name__:
- if __name__ == '__main__': 做一些事情。。。。
- 22.dir():可以列出模块里面的定义的标识符。包括函数,类,变量等。
- 提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
- 23.del 变量 #删除变量
- 24.python中有三种内建的数据结构:列表(list),元组,字典
- 25.元组:元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
- 元组也是一个“序列”!(列表,字符串,元组都是序列!!字典不是。。)
- 一个空的元组由一对空的圆括号组成,如myempty = ()
- 只有一个成员的元组,必须在一个元素后面再加一个逗号,这样就“Python才能区分元组和表达式中一个带圆括号的对象”
- 元组使用的示例:
- age = 22
- name = 'Swaroop'
- print '%s is %d years old' % (name, age)
- print ‘name is %s’%name #注意这里只有一个变量的时候,可以这样使用,不用括号。
- 26.在python中使用汉字:在最上面写,#coding=gbk
- 27.序列:主要两个特点是索引,切片。序列的索引是负数的话,表示取倒数第几个元素。
- shoplist[1:3]:从位置1开始,包括位置2,但是停止在位置3的一个序列切片。只有两个元素。
- 28.关于对象的引用的老问题,创建一个对象并给它赋一个变量的时候,这个变量仅仅“参考”那个对象,而不是对象本身!如果要拷贝序列的话,就应该使用切片操作来进行序列的拷贝。
- 29.输出python中的全部汉字:
- for ch in xrange(0x4e00, 0x9fa6):
- print unichr(ch)
- 30.str类是字符串的类。help(str)
- 常用方法:len(str),str.endswith('q'),S.find(sub [,start [,end]]),S.index(sub [,start [,end]]),S.isdigit()#是否数字
- 31.对于时间的格式化函数:import time 然后就:time.strftime('%Y%m%d%H%M%S') 可以从python参考手册得到。
- 32.执行一个命令,import os 然后: os.system(“命令字符串”) 如果命令执行成功返回0,否则返回错误号!注意执行成功的时候返回0!!
- 判断目录是不是存在,os.path.exists(目录名) 创建目录:os.mkdir(新目录名) 得到文件分割符:os.sep
- 33.面向对象基本概念:
- 类创建一个新类型,对象是这个类的实例;
- 属于一个对象或者类的变量被称为域;
- 属于类的函数称为类的方法;
- 域有两种类型,属于每个实例/类的对象或者属于类本身,分别被称为实例变量和类变量;
- 类使用关键字class创建。
- 34.self:在类的方法中,必须有一个额外的第一个参数,在调用这个方法的时候不为这个参数赋值,有Python自动进行赋值,类似于java的this。这个变量一般建议命名使用self。
- 注意:这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。
- 35.空白语句:pass
- 36.类的定义:
- class Person:
- def sayHi(self):
- print 'Hello, how are you?'
- p = Person()
- p.sayHi()
- 37.类里面的初始化函数:__init__(self,参数。。。)
- 对应的还有一个__del__方法!
- 38.类的变量(由一个类的所有对象(实例)共享使用),对象的变量(由类的每个对象/实例拥有)。
- 39.类的继承:class Student(SchoolMember):#括号里面是基类。python支持多重继承!
- 40.类的存储:使用cPickle模块进行类对象到文件的存储和从文件的加载一个对象。
- 简单示例:import cPickle
- 存储:f= file(文件名,'w'); o=对象; cPickle.dump(对象,f)
- 取存储:f=file(文件名); o=cPickle.load(f) ; 使用对象。。。。
- 41.关于异常:
- try:
- s=raw_input('请输入一些东西:')
- if len(s)<3:
- raise ShortInputException(len(s),3) #触发自定义异常
- except EOFError:
- print '\n为什么要强制结束?'
- except ShortInputException,x:
- print '遇到ShortInputException异常,输入的长度是%d,\
- 不触发至少要输入位数是%d'%(x.length,x.atleast)
- else:
- print '没有异常被捕获。'
- finally:
- print '无论是否异常都要执行这个语句!'
- 自定义异常:
- class ShortInputException(Exception):
- def __init__(self,length,atleast):
- Exception.__init__(self)
- self.length=length
- self.atleast=atleast
- 42.使代码停留一会再执行 time.sleep(2) #要先import time
- 43.查看变量的类型:
- from types import *
- 再调用type(item) #返回的值是NoneType ,TypeType ,BooleanType ,IntType等等。详细见python自带的文档。
- 注意:布尔类型是True,False!首字母大写!!
- 也有一个方法 if isinstance(item, int):看这个变量item是不是int类型
- 44.sys模块:
- option = sys.argv[1][2:]#比较特别的写法!! fetch sys.argv[1] but without the first two characters
- 45. python中的一些特殊的方法
- 名称 说明
- __init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用。
- __del__(self) 恰好在对象要被删除之前调用。
- __str__(self) 在我们对对象使用print语句或是使用str()的时候调用。
- __lt__(self,other) 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。
- __getitem__(self,key) 使用x[key]索引操作符的时候调用。
- __len__(self) 对序列对象使用内建的len()函数的时候调用。
- 46.列表综合:将一个列表映射为例外一个列表的快速方法:
- listone = [2, 3, 4]
- listtwo = [2*i for i in listone if i > 2] #新的列表中将原列表大于2的元素乘以2倍
- print listtwo #[6, 8]
- 47.函数参数使用*和**分别代表为列表或者元组。这个比较有用。
- def powersum(power, *args):
- ... '''''Return the sum of each argument raised to specified power.'''
- ... total = 0
- ... for i in args:
- ... total += pow(i, power)
- ... return total
- 实例: powersum(2, 3, 4)
- 输出:25
- 48.lamdba语句:(用来创建函数的语句!!)很有特色的python语句!
- def make_repeater(n):
- return lambda s: s*n
- twice = make_repeater(2)
- print twice('string')
- print twice(2)
- threeTimes = make_repeat(3)
- print threeTimes('string')
- print threeTimes(2)
- 49.动态执行python语句:exec 'print "Hello World"' 注意,这里没有括号!!
- eval用来计算存储在python中的表达式! eval('3*3') 这也是可以的: print eval('"str1"+"str2"')
- 50.断言:assert语句,用来声明某个条件是真的。如果失败,就引发AssertionError。
- 51.repr函数:用来取得对象的规范化字符串表示,反引号也可以完成相同的功能。
- 大多数有:eval(repr(object))==object
【和我一起学python吧】python入门语法总结的更多相关文章
- python运行以及入门语法基础
pycharm下载与使用 1.pycharm官网下载(直接到pycharm下载地址) http://www.jetbrains.com/pycharm/download/#section=window ...
- python高级编程——入门语法(二)
闭包 概念:外函数outer定义一个变量a,又定义一个内函数inner,而这个内函数inner访问了外函数outer的变量a,如果需要改变外函数outer的变量a的值,则需要声明 nonlocal a ...
- python高级编程——入门语法(一)
元类 在python中一切皆对象,类也是对象,只不过类是一个创建对象的对象,我们可以在类中动态的创建一个类,比如 def func(name): if name == "Plane" ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
- Python入门 语法
Python入门 语法 语言介绍 对象,类型,值 编码规范 https://www.python.org/dev/peps/pep-0008/ 一.语言介绍 编程语言: 机器语言,汇编语言,高级语言 ...
- Python入门语法
Python入门语法 动态变量 a=3 整数 a='abc' a="abc" 字符串 a=3.0 小数 a=true a=false 布尔型 a=3 ...
- Python学习系列(四)Python 入门语法规则2
Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...
- 和我一起学python,初识python (life is short ,we need python)
作者:tobecrazy 出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 由于项目需要(并非因为life is short), ...
- 想学Python不知如何入门,教你!
一.入门引导 想必有很多小伙伴想学习Python,又不知道如何入门,总觉得学习一定要头悬梁,锥刺股!NO,今天给大家分享下如何轻松入门Python! 首先,我们要学习Python,那一定要和你 ...
- 腾讯的表妹告诉我怎么学Python,今天就教我搭建Python环境和基本语法,我【码上开始】
本文首发公众号:码上开始 环境准备 Pycharm Python3 window10/win7 安装 Python 打开Python官网地址 下载 executable installer,x86 表 ...
随机推荐
- lintcode:1-10题
难度系数排序,容易题1-10题: Cosine Similarity new Fizz Buzz O(1)检测2的幂次 x的平方根 不同的路径 不同的路径 II 两个字符串是变位词 两个 ...
- 【mysql的编程专题④】存储过程
类似函数,但是没有返回值,把sql进行封装,便于多次使用或多种应用程序共享使用.不能用在SQL语句中,只能使用CALL调用; 创建存储过程 语法 CREATE PROCEDURE sp_name ([ ...
- 枚举桌面应用程序lnk路径并得到对应程序的绝对路径(使用SHGetDesktopFolder函数枚举,然后使用COM查询IShellFolder,IShellLink和IPersistFile接口)
// 枚举桌面上应用程序的lnk路径 void EnumDesktopLnkPath() { WCHAR szPath[MAX_PATH] = {0}; SHGetSpecialFolderPathW ...
- QEvent大全,有中文解释
简述 QEvent 类是所有事件类的基类,事件对象包含事件参数. Qt 的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们转化为 QEvents, ...
- IDEA快速光标跳转
Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会 ...
- linux查看硬件环境
一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...
- 【原创】30分钟入门 github
很久没更新了,这篇文章重点在github的入门使用,读者可以下载github for windows shell,边看边操作,加深印象. 好了,30分钟的愉快之旅开始吧: 一.github使用的注意事 ...
- 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...
- LingPipe-TextClassification(文本分类)
What is Text Classification? Text classification typically involves assigning a document to a catego ...
- UVa 11572 Unique snowflakes【滑动窗口】
题意:给出 n个数,找到尽量长的一个序列,使得该序列中没有重复的元素 看的紫书,滑动窗口来做的 当右端碰到有相同的数的时候,左端向前滑动一个数 模拟一个样例好理解些 #include<iostr ...