python入门教程

1、python的特点和应用领域

python语言的特点:优雅 明确 简单

python适合的领域:web网站和各种网络服务   系统工具和脚本  作为“胶水”语言把其他语言开发的模块包装起来方便使用

python不适合的领域:贴近硬件的开发(比如操作系统)   移动开发(iso和安卓)   游戏开发C/C++

python和java以及c语言的对比:

               语言     类型                               运行速度              代码量

                c         编译为机器码                  非常快                非常多

                java     编译为字节码                  快                       多

                python   解释执行                      慢                      少

      python缺点一:运行速度慢,但是开发速度快。目前cpu越来越快,但是网络和硬盘的速度却没有这么快,大量的代码运行起来瓶颈不在于python代码,而在于数据库和网络调用。

     python的缺点二:源码不能加密。

2、python的安装及环境配置。

     python是一种跨平台语言,可以运行在windows、linux、unix平台上。在windows上开发的语言也可以在linux上运行。

      windows上安装python:python的官网:python.org。登录官网 选择download  for windows下载python3.7,下载之后安装(直接下一步直至完成)。配置环境变量:我的电脑-属性-高级系统设置-环境变量-找到path把python的安装位置加在最后,用;分隔。命令行输入 python如果出现python的版本信息则安装配置成功。

3、python的基础语法

3.1 python的数据类型

     整数:例如1,-8008,0;十六进制用0x作前缀,例如0xff00.

    浮点数:1.23*10^8可以写为1.23e8。10用e代替。

    字符串:字符串用'' 或 ""括起来,例如'abc',"xyz"

    布尔值:True,False注意大小写,布尔值可以进行 and,or,not进行运算。

    空值:None。None不为0.

     python之print语句,python3之后的版本输出时要加()

         print "abc" 即可输出abc字符串

        print "hello","world"输出结果为: Hello world python检测到,时会输出空格。

    python的注释:#开头,至行尾。

    python的变量:在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线的组合,且不能用数字开头,比如:a=3,t_007="T202"

      则表示,a是一个整数,t_007是一个字符串

    python的字符串,用''或者""括起来,如果字符串本身包含',"时,用\进行转义,常用的转义字符有\n表示换行   \t表示一个制表符  \\表示\本身。

    raw字符和多行字符:如果一个字符中包含很多需要转义的字符,则在这行字符前加r表示这是一个raw字符,里面的字符就不需要转义了。例如:r"\~~~/".但是r"..."表示法不能表示包含'或者"的字符,也不能表示多行字符。'''....'''表示这是一个多行字符。例如"line1\nline2\nline3\n"就和'''line1

                                                            line2

                                                            line3'''一样。

    python中的Unicode字符串:在字符串前面加u就可以正常显示中文,如果中文字符串在python环境下遇到unicodedecodeError只需在第一行添加注释:

# -*- coding: utf-8 -*-

4、python读取文件

my_file=open('myfile.txt','w')#以写的方式打开,‘r’以只读的方式打开  'a'往文件后面添加内容
my_file.write(text)
my_file.close()


file=open('myfile.txt','r')
content=file.read()
print(content)

readline()#按行读取

readlines()#读取全部行 保存到一个list中

5、class

class Cal:
    size=18
    price=10
    def add(self,x,y):
        return x+y
    def minus(self,x,y):
        return x-y

cal=Cal()
print(cal.price)
print(cal.add(1,2))

5.1 init()

def __init__(self,size,price,hight,width):
        self.size=size
        self.price=price
        self.hight=hight
        self.width=width

6、input

a_input=input("please input :") #input返回的是一个字符串
print(a_input)

7、元组 列表

a_tuple=(1,2,3)

a_list=[1,2,3,4,5,6]

for index in range(len(a_list)): #range(n)生成一个从1到n-1的迭代器
    print(index,a_list[index])

a=[1,2,3,4,5,6]
a.append(0)#追加元素
a.insert(1,0)#第一个参数是添加的位置,第二个参数是要添加的元素
a.remove(6)#参数去掉的是列表里第一次出现的这个元素
print(a[-1])#打印出最后一个值
print(a[0:3])#打印出0到2的元素
print(a[:3])
print(a[3:])#打印第三元素之后的元素
print(a[-3:])#打印最后三个元素
print(a.index(4))#第一个出现4的位置
print(a.count(4))#4的个数
a.sort()#从小到大排序
a.sort(reverse=True)#从大到小排序

8、多维列表(详见numpy和pandas)

9、字典dictionary

d={'apple':[1,2,3],'pear':2,'orange':3}  #字典是键值对的形式
print(d['apple'][1])
del d['pear'] #删除字典中的某个元素
d['c']=20  #给字典添加元素

10、错误处理try

try:
       file=open('eee','r+')
except Exception as e:
      print(e)
      a=input('if you want to create eee please input y')
      if a=='y':
          file=open('eee','w')
      else:
         pass
else:#没有错误的话执行该内容,如果执行了except不执行该模块
    file.write('sssss')
file.close()

11、map zip  lambda

a=[1,2,3]
b=[4,5,6]
print(zip(a,b))#输出是<zip object at 0x0000000002BFA048>
print(list(zip(a,b)))#输出是[(1, 4), (2, 5), (3, 6)]   zip可以合并 多个元素
for i,j in zip(a,b):
    print(i*2,j/2)

def fun1(x,y):
    return (x+y)
print(fun1(2,3))

fun2=lambda x,y:x+y
print(fun2(2,3))

print(map(fun1,[1],[2]))#<map object at 0x0000000002DB9E80>
print(list(map(fun1,[1],[2])))#[3]

print(list(map(fun1,[1,2],[2,3])))#[3, 5]

12、copy和deepcopy

import copy
a=[1,2,[3,4]]
b=a
c=copy.copy(a)
d=copy.deepcopy(a)
print(id(a)==id(b))#true
print(id(a)==id(c))#false
print(id(a)==id(d))#false
a[0]=-1
print(b,c,d)
a[2][0]=-1
print(b,c,d)

[-1, 2, [3, 4]] [1, 2, [3, 4]] [1, 2, [3, 4]]
[-1, 2, [-1, 4]] [1, 2, [-1, 4]] [1, 2, [3, 4]]

13、pickle存放数据

a_dict={'a':[1,2,3],'b':'string','c':555}
file=open('pickle_example.pickle','wb')
pickle.dump(a_dict,file)#把dict的内容给file
file.close()


with open('pickle_example.pickle','rb') as file: #with语句用完不用关闭
    a=pickle.load(file)
print(a)


14、set类型

char_list=['c','a','a','b','b','b']
print(set(char_list)) #{'a','c','b'}去除list中重复出现的项,返回值是set类型
print(type(set(char_list)))

sentence='i am  from beijing'
print(set(sentence)) #{'m', 'r', 'b', 'j', 'f', 'o', 'e', 'a', 'g', ' ', 'n', 'i'}

char1=set(char_list)
char1.add('x') #往char1里添加元素x
char1.clear()#清除该set
print(char1.remove('x'))#None
print(char1)#{'a', 'b', 'c'}
char1.discard(‘y’)#检查如果有y就删除y没有就不操作  不会报错

char_list=['c','a','a','b','b','b']
set1=set(char_list)
set2={'a','r','i'}
print(set1.difference(set2))#{'c', 'b'}
print(set2.difference(set1))#{'r', 'i'}

print(set1.intersection(set2))#{'a'}
 

15、正则表达

import re
#简单Python匹配
pattern1='cat'
pattern2='bird'
string='dog runs to cat'
print(pattern1 in string) #true
print(pattern2 in string)#false
#用正则匹配
print(re.search(pattern1,string))#<_sre.SRE_Match object; span=(12, 15), match='cat'>
print(re.search(pattern2,string))#none

#匹配多种可能
ptn=r"r[ua]n"
print(re.search(ptn,string))#匹配ran或者run[]表示或者

#匹配很多种
print(re.search(r"r[A-Z]n",string))
print(re.search(r"r\dn",string)) #\d表示所有的数字形式  \D所有的非数字形式
#\s所有的空格 \S所有的非空格符  \w所有的字母数字下划线 \W和w相反
#\brun\b只有run前后各一个空格能匹配到 \B不管有没有空格都能匹配到
#\\匹配\   .匹配任何非\n的东西 ^dog只有dog出现在句首才能匹配到
#cat$只有cat在句尾才能匹配到

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值