python1入门

工作用编辑器:pycharm

方便展示学习:Jupyter Notebook  在dos窗口安装方式:pip install jupyter  安装好以后使用方式:jupyter notebook

python --version  可以验证python安装成功与否

在dos窗口编写python:先进入到python环境,python+回车 然后在编写代码例如  print("hello world")

在dos窗口打开python脚本:notepad xxx.py+回车

在dos窗口运行python脚本:python xxx.py+回车

解决使用pip安装模块时提示: No module named pip;1、python -m ensurepip+回车

2、python -m pip install --upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com+回车

用2to3.py将python2代码转化为python3代码

window系统推荐windows7以上系统、Mac OS从Max OS X 10.3开始已经包含python、Linux 推荐 Unbuntu版本

python官网中:“web-based installer”---->联网安装                 “embeddable installer”----->离线安装

1.格式规范    

用缩进表示代码块,不同曾次代码块用不用的缩进

单行注释用#

多行注释‘’‘呃呃呃’‘’

多行语句用反斜杠(\),在()、[]、{}的元素中,不能使用反斜杠

2.标识符和命名规则

标识符自己定义的符号和名称,区分大小写、可以包括字母、数字、下划线,但是不能以数字开头

命名规则 变量名:下划线分割小写单词web_qwe   

函数名: 同变量名 

 常量名: 下划线分割的全大写单词

类名 :一般首字母大写

类名内部的变量和方法名:同变量名

3.保留字

保留字即关键字,不能把保留字用作标识符名称

查询保留字方法   import keyword

                            keyword.kwlist

id() :获取变量的内存地址

nums = num1 = 1024

id(nums)、id(num1)

 基本数据类型

Number数字   int:长整形,任意大小的整数。99j表示-99 float:浮点型,需要小数时使用。

str字符串,单行文本字符单引号或者双引号,多行文本字符用三引号

字符串操作1

a='python',b='Class'

a+b    +代表字符串链接

a[1]    [n] 代表下标,通过索引获取字符串中的字符

[m:n]截取字符串的部分 [1:5]截取下标从1到5,不包括5;[:5]截取前5个字符;[-5:]截取后面5个字符

字符串操作2

a='python',b='Class'

string.find(str)                     检测string中是否存在str,存在返回开始的索引值,不存在返回-1.        a.find('thon') = 2 ; a.find('java') = -1

string.replace(str1,str2)      把string中的str1替换成str2                                                                     a.replace('thon','aaa') = 'pyaaa'

string.strip()                        去掉字符串两端的字符                                                                           ' hello world '.strip() = 'hello world'

string.split(str)                     以str为分割string,返回一个列表                                                          a.split('y') = ['p','thon']

string.join(sep)                    以string作为分隔符,将seq中所有的元素合并为一个新的字符串         ' '.join(a) = 'p y t h o n'

string.format()                     格式化字符串,传递参数                                                                       'this is the {0} {1}'.format(a,b) = 'this is the python Class'

字符串操作3

a='python',b='Class'

用字符串格式化符号传递变量      ‘this is the %s %s’%(a,b)  = 'this is the python Class'

常用的格式化符号

%s     格式化字符串

%d     格式化整数

%f      格式化浮点数

转义字符

\   续行符    \n  换行符  \0 空   \t  水平制表符,横向跳到下一制表符  \"  双引号  \'  单引号

\\  一个反斜杠   \f 换页  \0dd  八进制数  dd代表字符,\012代表换行

\xhh  十六进制数,hh代表字符,如\x0a代表换行

转换函数表达式

int(x) 将x转换为整数  float(x)  将x转换为浮点数  complex(real [,imag]) 创建一个复数 str(x) 将x转换为字符串 repr(x) 将x转换为表达式字符串

eval(str)  计算在字符串中的有效python表达式,并返回一个对象

chr(x) 将整数x转化为一个字符  ord(x) 将一个字符x转换为它对应的整数值  hex(x) 将一个整数x转换为一个十六进制字符串  oct(x)  将一个整数x转换为一个八进制字符串 

bool布尔值    Ture   False

与数字型对应     1等价于Ture  0等价于False

与字符串型对应     非空字符串‘xxxx’等价于Ture  空字符串‘’等价于False

list列表

 使用方括号[]来建立列表

有序的序列

允许以任意的顺序存储数据

可以人已添加和删除元素

1.索引  list[n]列表中任意位置的元素,从0开始

2.连接 [1,2,3]+[4,5,6,]+[7,8,9]=[1,2,3,4,5,6,7,8,9]

3.添加   向末尾追加:list.append('xxx')        按索引位置插入:list.insert(n,'xxx')

4.删除   删除末尾元素 list.pop()     按索引删除元素 list.pop(n)

tuple元组

有序元素的组合,使用圆括号()来建立

tuple结构和list非常相似

tuple是不可变类型,一旦初始化就不能修改

tuple=()  空元组

tuple1=('wew',) 元组中有一个元素,末尾要加一个逗号,

(1,2)+(3,4)=(1,2,3,4)

len(tuple)     计算元组元素个数

max(tuple)  返回元组中元素最大值

min(tuple)   返回元组中元素最小值

元组和列表结合使用,它们可以相互包含

set集合

用花括号{}来建立集合

集合里不允许有重复的元素

集合是无序数据的组合,不能用索引来查找

初始化集合 a={1,2,3}或者 a=set([1,2,3])

a={1,2,3} b={3,4,5}

集合操作,并集(|)不同集合去重后合并、交集(&)不同集合中的相同元素、差集(-)a去掉b中的相同元素等运算

dict字典

用花括号{}来建立

是一种映射类型,是无序的键值对(key:value)的组合

key在字典中唯一,且一旦建立不能改变

字典操作

查找,用过key找到value,contacts.get('1234'),查找速度快

增加,直接赋值新的键值对

修改,直接根据key修改value

删除,通过pop方法,contacts.pop('key')

数据类型间的转换

int(x)               将x转换为一个整数

float(x)            将x转换为一个浮点数

str(x)               将x转换为字符串

tuple(s)           将序列s转换为一个元组

list(s)              将序列s转换为一个列表

set(s)              转换为集合

dict(d)            创建字典,d必须是(key,value)元组结构的序列

常用运算符

1.算术

%取模,返回除法的余数;**幂,返回x的y次幂;//取整除,向下取接近除数的整数。

2.赋值

=         直接赋值

+=       加法赋值     -=减法赋值    *=乘法赋值    /=除法赋值   %=取模赋值   **=幂赋值   //=取整除赋值

3.比较

==等于  !=不等于  >大于   <小于   >=大于等于  <=小于等于

4.逻辑运算

与and&   或or|   非Not!

5.成员运算

in序列包含制定对象返回Ture,否则返回False    not in序列不包含制定对象返回Ture,否则返回False

6.运算符优先级,从高到低

  1. **    
  2. *,/,%,//
  3. +,-
  4. <=,<,>,>=
  5. ==,!=
  6. =,%=,/=,//=,-=,+=,*=,**=
  7. in,not in
  8. and,or,not

条件控制

if else,  if  elif  else

循环

一般形式:

while 判断条件:

    代码块

无限循环形式

while Ture:

    代码块

break终止全部的while循环

continue跳出当次循环,继续进去下一次循环

for循环,

1遍历列举式列表

lanaguages = ['china';'japan';'h';'m']

for x in lanaguages:
    print(x)

2遍历range整数列表,range(n)生成(0,n)内的整数列表,最大值是n-1

函数

定义一个函数   用def关键字声明函数名   

def 函数名(参数):   

    代码块

    return ‘ok’

函数调用和参数传递

    函数名调用函数

多个返回值

#指定默认参数

def hello(name,year='2020'):

  print(name,year)

  return ‘ok’,year

修改默认参数,直接对应传值就行

e,f=hello('www','2021') #e=ok   f=2021

一个变量接受多个返回值,返回一个元组

同等数量的变量接收返回值,顺序对应接收

模块

内置模块,python标准库,安装python后自带的模块,导入后就可以使用

导入方法:导入整个模块 import 模块名  或者  导入模块中的某个方法 from 模块名 import 方法名

第三方模块

非自带,需要安装

用过python自带的pip工具安装  pip install 模块名

导入方法:导入整个模块 import 模块名  或者  导入模块中的某个方法 from 模块名 import 方法名

面向对象

类的定义:具有某些属性和方法的一类事物的定义,通过class关键字,类的名字一般首字母大写

属性就是定义类具有哪些特征,用变量来表示,定义类具有哪些功能,有函数来表示

类方法的定义和函数一样使用def关键字

类方法必须有一个额外的参数self(类的实例)

class Car:

  color=''

  size=''

   def drive(self,direction):

      print('drive'+direction)

   def stop(self):

      print('stop')

实力的创建

实例是根据类模板创建出的现实个体,也就是类的对象,一个类可以有多个实例,用过类名()的形式创建实例

实例拥有类的所有属性和方法

各实例的属性值和方法参数可以不用

mycar = Car()
mycar.color='white'
mycar.drive('forword')
mycar.stop()
print('wwww1'+mycar.color)

访问限制

类的私有属性 

声明  __private_attr  = xxx

不能在类外部被使用或直接访问

在类内部可以通过self.__private_attr访问

外界操作的实现方法

def get_shape(self):     获取私有属性,在类里定义的

  return self.__shape

def set_shape(self,shape):   设置私有属性,在类里定义的

  self.__shape=shape

类的私有方法 

声明  def __private_method():

不能在类的外部调用

在类内部通过self.__private_method访问

实例的私有属性

声明:__private_attr = xxx

在构造函数‘__init__’中定义

其余与类的私有属性一样

类的继承

父类,被继承的类 BaseClass

子类,派生出来的类 Subclass

子类的定义

class SubclassName(BaseClassName):

  pass

子类中可以定义自己的属性和方法

当子类中属性和方法声明和父类一样时,默认使用子类的

文件操作

打开文件  open()方法打开文件,并返回文件对象

open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=Ture,opener=None),标红参数为常用参数

file:必须,文件路径

mode:可选,文件打开模式      r读模式打开文件   w写模式打开文件,如文件已经存在,删除重新写,不存在则创建新文件

a追加模式打开文件,如文件已经存在,在文件末尾追加,不存在则创建新文件    b二进制格式打开文件

rb读二进制模式打开文件,一般用于多媒体文件    wb写二进制模式打开文件,一般用于多媒体文件

encoding:读写编码,一般使用utf-8

写文件

write(),将内容写入

file.write(str)    file待写入文件对象,str待写入字符串

关闭文件

通过close()关闭文件

file.close()   file关闭的文件对象

读取文件

open()方法打开文件后,使用read()方法读取

file.read([size])  file文件对象,   [size]按指定缓存区大小逐步读取,不指定则一次性读取

用with操作文件更简单,文本文件读写

with open(xxx,'w') as file_handle:       #xxx是文件地址   file_handle自定义文件对象名

    file_handle.write(xxx)

with open(xxx,'r') as file_handle:   #xxx是文件地址   file_handle自定义文件对象名

    file_handle.read(xxx)

二进制流

bdflow = b''   这就是空的二进制流(b'')

bdflow = b''

with open(‘xxx.gif’,'rb') as f:   #xxx是文件地址   f自定义文件对象名

   bdflow =  f.read()           这样就可以把图片读出来

with open(‘xxx1.gif’,'wb') as f:   #xxx是文件地址   f自定义文件对象名

   f.write(bdflow)           这样就可以把图片写进文件夹里

错误处理和调试

语法错误判断

常见错误,代码词写错,语法不正确等等     提示:SyntaxError:invalid syntax

异常处理

运行过程中因变量取值或逻辑问题触发的错误,程序没有语法错误,可以正常启动

BaseException    所有异常的基类

Exception            常规错误的基类

StandardError     所有的内建标准异常的基类

ArithmeticError   所有数值计算错误的基类

EnvironmentError   操作系统错误的基类

Warning               告警的基类

try:

    觉得异常的代码

except xxxError:   #BaseException as err    常见错误,简写成err

     异常之后的处理

finally:

      不管异常与否都会执行

print辅助调试

直接打印看

基于pycharm调试

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值