python基础语法快速浏览
1 import sys #导出sys模块 2 3 def test(): 4 a,b,c=1,2,3 #一次给多个变量赋值 5 print(type(a),help(a),help(sys),sys.__file__) 6 if b>1: 7 print("hello world!") 8 print(u"这句不是函数test的了")
python的代码很简洁,这里不再看到;和{},变量不需要声明类型,代码块是用缩进的方式实现,如上行5和def对齐,该行不属于函数test。
语句和控制流:
- if、else、elif
- for:历遍迭代器,如for x in [1,2,3] ,注意不支持for( i=0;i<10;i++)
- while
- continute\break
- def:定义函数
- class:定义类
- pass:表示此行为空,不执行如何操作
- yield:在迭代器函数内使用,用于返回一个元素
- with:在一个场景中运行语句块
帮助:
可以用help()查看帮助,__file__查看出处,type()获取类型,dir()列出模块中定义的标识符(函数、类、变量)
数据类型转换:
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
字符串:
字符串可用单引号、双引号、三引号表示,其中三引号可表示多行,转义符用\,字符串格式化用%
str="hello world" str='hello world' str="""hello world""" #多行 str=r"hello \n world" #\n本来表示换行但字符串前面加r保留原始字符,等于“hello \n world” "hello %5s %5f"%("zeng",1.2) #在总长度为5,正数右对齐,负数左对齐,数字也有效 "hello %.3s %08.3f"%("zeng",1.2345) #限制总长度为3,超过部分将被切断,数字总长8,不够前面补0,3位小数点
注释:
代码行用#注释,
函数和类的注释
def test():"""在这里写函数的注释"""passtest.__doc__ #查看函数的注释
2、序列
元组:a=(1,2,3)
a,b,c=(1,2,3) #a=1 a=(1,2,3) #arr[1]=1 失败 不能修改 a=tuple("abc") #=("a","b","c"),可将列表、字典 a=(1,) #只有一个元素的元组要加逗号
列表:a=[1,2,3]
列表提供的操作函数比较多,可以新增、修改、删除、排序、合并等。
字典:a={"id":1,"name":"zyy"}
age="age" user={"id":1,"name":"zyy",age:12,1:2} #键值对的集合构成字典 user=dict([("id",1),("name","zengyy")] #将键值列表转成字典 id=user["id"];user["id"]=2 #读写
集合:
集合的元素是唯一的,可用set()将元组、列表、字典转成集合
arr=[1,2,3,4,5,6] arr[1:3] #输出[2,3] arr[1:] #输出[2,3,4,5,6] arr[:3] #输出[1,2,3] arr[:-2] #输出[1,2,3,4] arr[1:5:2] #输出[2,4]
3、表达式
历遍序列的表达式
([x for x in [1,2,3,4,5] if x not in [1,3]]) #输出[2,4,5] ({x*x:x*2 for x in [1,2,3,4] if x not in [1,2]}) #输出{16: 8, 9: 6}
lambda表达式:
f=lambda a,b:a*b f(2,3) #输出6
4、函数
def plus(a,b=1,*c,**d): #c,d都是可变参数,d为命名可变参数sumc=0;sumd=0print(c)for x in c: #列举参数列表(1,2)sumc+=x print(d,type(d))for x in d.keys(): #列举命名参数列表(a,b)sumd+=d[x]return (sumc,sumd)sum=plus(1,2,1,2,3,x=1,y=2) #参数c=(1,2,3),d={"x":1,"y":2}
5、类
class person():def __init__(self):passclass user(person): #继承person __id=1 #私有变量或函数已__开头非__结束def __init__(self):print(type(self))person.__init__(self)@property #读取属性的函数 u=user();u.iddef id(self):return self.__id @id.setter #给属性复制的函数 u=user();u.id=123def id(self,v):self.__id=v@id.deleter #删除属性时调用 del u.iddef id(self):del self.__iddef __getattr__(self,name): #调用类中没有定义的属性时触发 如u.name,同样的函数有__setattr__,__delattr__if(name=="name"):return "zeng"else:return ""#id = property(getid, setid, delid, "属性id的注释") # 这句和上边的效果一样,getid,setid,delid分别调用3个函数 @classmethod #类方法def add(self): print("add",type(self))pass@staticmethod #静态方法def update():passdef save(self):print("this is f") user.save=save #类成员函数可以这样添加u=user() u.age=30 #age没有在前面定义,但这样是合法的
View Code
- 继承 ,class user(person): user 继承person类
- 私有成员,以__开头非__结束
- 属性,注意上边属性的2中定义方法
- 类方法和静态方法,类方法第一个参数是self,该参数不是实例,而是类
- 类内置函数,参考文章http://www.cnblogs.com/simayixin/archive/2011/05/04/2036295.html
- 类方法和属性是可以动态添加上去的
6、模块
模块可以是py文件或包含__init__.py的文件夹
import common #导入模块common,调用时为common.add(),即加上 模块名. import common as c #导入common,调用时为c.add() from common import add,plus #导入模块的部分类、函数等 可以直接利用该函数 from common import * #导入所有的类、函数等 可以直接利用该函数 if __name__=="__main__": #通过__name__获取模块名pass
当导入文件夹模块时目录下的__init__.py将被执行
相对路径:from ..a import b #..表示上级目录,a表示当前目录的上级目录的a文件夹
__all__:可以在模块中定义__all__=["b"],当通过“from a import *”方式导入时 只导入__all__定义的对象
7、迭代器和生成器
#迭代器 class myiter:def __init__(self):self.a=0 def next(self): #循环调用该函数 self.a+=1if self.a>5: raise StopIteration #触发这个异常是停止迭代return self.a def __iter__(self): #说明可迭代return self for x in myiter(): #调用next直到StopIteration异常print(x) #生成器 def g(): #该函数返回生成器,调用g()该函数并没有执行,只有历遍时才执行 arr=[1,2,3]for x in arr: yield xfor x in g():print(x) #输出1,2,3
View Code
转载于:https://www.cnblogs.com/zengyy/p/3352135.html
python基础语法快速浏览相关推荐
- python编程基础语法-Python编程基础语法快速入门
1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...
- python编程语法教程-Python编程基础语法快速入门
1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...
- python中 1.34e3_Python快速编程入门——第2章 Python基础语法
第2章 python基础语法 一.基本语法 二.变量和数据类型 三.标识符和关键字 四.简单数值类型 一.基本语法 注释:Python的注释是用# 不像C/C++使用的是//或者/*/.多行注释好像挺 ...
- python使用缩进作为语法边界-重庆铜梁高校邦数据科学通识课【Python基础语法】答案...
重庆铜梁高校邦数据科学通识课[Python基础语法]答案it8p 重庆铜梁高校邦数据科学通识课[Python基础语法]答案 关注公众号{帅搜}即可查询答案 支持:网课,智慧树,知到,超星,尔雅,学习通 ...
- python语言创意绘画-齐齐哈尔富裕高校邦数据科学通识课【Python基础语法】答案...
齐齐哈尔富裕高校邦数据科学通识课[Python基础语法]答案it8p 齐齐哈尔富裕高校邦数据科学通识课[Python基础语法]答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星, ...
- python基础指令-python基础语法,python 代码命令大全
python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...
- python基础语法手册-python语法大全,python语法手册
deff(x,y=0,z=0):pass 定义一个有三个参数x,y,z的函数f,参数x是必须要赋值,比如f(1),f(x=1),都是给x赋值1,y,z也是需要赋值,但不是必须的,因为默认值已经在函数里 ...
- python基础代码大全-python基础语法,python 代码命令大全
python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...
- Deep Learning Chapter02:Python基础语法回顾
Deep Learning Chapter02:Python基础语法回顾 由于一年多没有接触python,现在恶补了下python基础语法,为以后的深度学习打下基础.现总结如下,希望对大家有所帮助. ...
最新文章
- sql2005配置文件服务器,SQL server服务器版的安装方法
- 联想小新air13pro重装系统_联想 小新Air 13 ProU盘装系统win7教程
- » 欄位太小以致於無法接受您試圖加入的資料數量
- 存储过程里面的CASE,WHEN,THEN的用法
- ios浏览器不支持onblur事件
- [html] 说说video标签中预加载视频用到的属性是什么?
- 国内2大Git代码托管网站
- UI设计素材字体|三明治3D文字效果– 3个角度
- Serializable中的serialVersionUID
- window下的Django环境搭建
- VAssistX使用总结
- asymptotic (infinite-training-sample)
- 什么是智能制造?如何实现智能制造?
- Linux系统调用七、与文件权限有关的系统API串讲
- xpath爬取智联招聘--大数据开发职位并保存为csv
- 论文阅读 FastSpeech
- 卷积神经网络(CNN)——图像卷积
- 基于波峰波谷法计算信号的周期
- PHP大道至简之农历换算
- 7.4 PowerBI系列之DAX函数专题-期初期末库存分析
热门文章
- 面向小姐姐的编程——JAVA面向对象之封装(二)
- 基础知识(十三)dlib python人脸检测 特征点定位
- java生成和读取keystore_java-如何以编程方式创建新的KeyStore?
- java 抽象封装多态_java面向对象(封装,继承,多态,抽象,接口的定义和实现)...
- html5 ul li 自动收回,vue遍历四个ul ,每个ul中有四个li.如何不破坏html结构?
- matlab 调整灰度,matlab灰度图像调整及imadjust函数的用法详解
- SPP-net论文笔记
- 检查服务器端口占用情况命令
- kvm最小磁盘大于等于5G
- Linux下修改Tomcat默认端口