python 基础入门
Posted wangziqiang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基础入门相关的知识,希望对你有一定的参考价值。
<安装
- python -V
命令
- ctrl + d 退出
语法
- 大小写敏感
- #注释
字面常量
如:’cat’, 1
数
- 整数: 1
- 长整数: 84848484747
- 浮点数:3.23,52.3E-4
- 复数:-5+4j
字符串
- 单引: ‘’
- 双引: “”
- 三引: ‘’’
- 转义:
- 自然字符串:某些不需要如转义符那样的特别处理的字符串,用r或R标识,如:r:”kdkfjjkdn”
- unicode: 字符串前面加u/U
- help(str)
变量
- 命名:和其他语言一样
- 声明:不需要声明和定义数据类型
运算符和表达式
- 和其他语言基本一样
- 特殊:
- // :取整除的商
- not, and, or
控制流
- if:
1 | if condition: |
while:
1
2
3while condition:
do something
else:for
1
2
3for i in range(1, 5):
do something
else:break
- continue
函数
声明:
1
2def func_name(params):
do something调用:
1
func_name(args)
形参
- 局部变量:要使用全局变量,必须使用global 语句
- 默认参数:和delphi一样,在声明时候,用等号赋值给参数
关键参数:只想指定其中的一部分,那么你可以通过命名来为这些参数赋值
1
2func(25, c=24)
func(c=50, a=100)return:没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值为None,可以表示它没有值。
- DocStrings: python 对象都有 __doc__ 这个属性,print 可直接打印
模块
- 命令:
- import
- from … import …
- import … as … (别名)
- 访问:module_name.xxx
- .pyc: 字节编译的模块文件
- __name__: 通过模块的name属性,可以在程序本身被使用的时候运行主块,而在它被别的模块import的时候不运行主块。
标准库模块
sys
- argv
- path
os
- os.name 字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’
- os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径
- os.getenv()和os.putenv()函数分别用来读取和设置环境变量
- os.listdir()返回指定目录下的所有文件和目录名
- os.remove()函数用来删除一个文件
- os.system()函数用来运行shell命令
- os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用’rn’,Linux使用’n’而Mac使用’r’
- os.path.split()函数返回一个路径的目录名和文件名
- os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在
创建模块
1 | #!/usr/bin/python |
dir()
- 列出模块定义的标识符,标识符有函数、类和变量
数据结构 大专栏 python 基础入门h3>- 列表,元组,字符串都是序列,支持索引,切片
列表
- 可变
- 定义:list = [1,3,4]
- 常用:len(list), list.append(xx), list.sort(), del list[0], help(list)
元组
- 不可变
- 定义:tuple = (‘a1’, ‘b1’, ‘c1’)
- 单元组:single_tuple = (‘11’, )
- 常用:打印时,多个值,格式化输出
字典
- dict类实例
- 使用不可变的对象(比如字符串)来作为字典的键,可以用不可变或可变的对象作为字典的值
- 无序
- 定义:dict = {‘a’:1,’b’:2}
- 访问:dict[‘a’]
- 常用:
1
2
for key, value in dict.items():
do something
面向对象
- self: 对象的实例
类定义:
1
2
class ClassName:
...
创建对象: instance = ClassName()
对象方法,参数都要有self,
1
def func_name(self, ...):
特殊方法:
- __init__(): 类似构造函数的作用
- __del__(): 类似释构函数,可以用del 显式调用
变量:
- 类变量:相当于java的静态变量
- 对象变量:仅仅对象拥有
继承:
Python不会自动调用基本类的constructor,你得亲自专门调用它
1
2
3
4
class Child(Father):
# 想继承,需要显式调用父类的方法
def __init__(self, name, age, marks):
Father.__init__(self, name, age)
多重继承:入参添加多个基类
I/O
终端输入输出
- raw_input
- print
文件
- 类:file
- 方法:read,readline,write,close
*
异常
捕获:基本为Exception/Error
1
2
3
4
5
try:
expect ErrorName:
expect ExceptionName, exception_instance:
抛出:
1
rasise ExceptionClass()
try … finally:
1
2
3
try:
finally:
高级内容
特殊方法
1 | for key, value in dict.items(): |
类定义:
1 | class ClassName: |
创建对象: instance = ClassName()
对象方法,参数都要有self,
1 | def func_name(self, ...): |
特殊方法:
- __init__(): 类似构造函数的作用
- __del__(): 类似释构函数,可以用del 显式调用
变量:
- 类变量:相当于java的静态变量
- 对象变量:仅仅对象拥有
继承:
Python不会自动调用基本类的constructor,你得亲自专门调用它
1 | class Child(Father): |
多重继承:入参添加多个基类
*
捕获:基本为Exception/Error
1 | try: |
抛出:
1 | rasise ExceptionClass() |
try … finally:
1 | try: |
名称 | 说明 |
---|---|
init(self,…) | 这个方法在新建对象恰好要被返回使用之前被调用。 |
del(self) | 恰好在对象要被删除之前调用。 |
str(self) | 在我们对对象使用print语句或是使用str()的时候调用。 |
lt(self,other) | 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。 |
getitem(self,key) | 使用x[key]索引操作符的时候调用。 |
len(self) | 对序列对象使用内建的len()函数的时候调用。 |
字典或元组入参
使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用和*前缀,如:
1 | def powersum(power, *args): |
lambda
lambda语句用来创建函数对象。本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达式。
exec和eval语句
- exec语句用来执行储存在字符串或文件中的Python语句
- eval语句用来计算存储在字符串中的有效Python表达式
assert
用来声明某个条件是真的,失败的时候,会引发一个AssertionError
repr函数
用来取得对象的规范字符串表示,和反引号用来获取对象的可打印的表示形式,通过定义类的repr方法来控制你的对象在被repr函数调用的时候返回的内容
以上是关于python 基础入门的主要内容,如果未能解决你的问题,请参考以下文章