Python快速入门

简介:

Python是一种面向对象,解释型,动态数据类型(变量不需要指定类型,由指向内存中存放值的类型决定)的高级程序设计语言,和shell,javaScript,php,perl,ruby等语言一样属于脚本语言;Python第一个发行版发行于1991年,其源代码遵循GPL协议;由于是解释型语言,python天生具有跨平台的特性,只要为平台提供相应的python解释器,python就可以在该平台运行;关于运行速度的问题,如果某些模块对运行速度有特别的要求,可以用c/c++实现相关模块;

环境搭建:

和java运行需要安装jdk一样,python程序的运行也需要依赖python环境,可以在终端命令窗口输入"python --version"查看是否安装python;如果没有安装,可以在python官网下载对应的版本,傻瓜式下一步安装,之后配置系统环境变量即可;

python基础语法:

python编程:

交互式编程:在安装了python的机器上打开终端,输入python命令即可进入交互模式,输入print "Hello World!"按下回车即可打印Hello World!;

脚本式编程:python文件的后缀扩展名是.py;执行时,只需要输入 python test.py即可执行;

python标识符:数字,字母,下划线(比java少一个$符),首字符不能是数字;

行和缩进:python不使用大括号{}来控制定义类,函数以及其他代码块,而是使用缩进来控制,所有代码块必须包含相同数量的缩进空白;

引号:python可以使用单引号,双引号,三引号来表示字符串;

注释:python单行注释是使用"#"号,多行注释使用三个单引号或三个双引号;

空行:空行并不是python语法的一部分,空行的作用在于分割两端不同功能的代码,便于代码阅读维护;

print输出:print默认输出是换行的,如果要实现不换行可以在变量末尾加上逗号;

变量:python中的变量不需要声明类型,每个变量在使用前必须赋值;赋值后该变量才会被创建;

标准数据类型:

Python有五个标准数据类型:Numbers(数字),String(字符串),List(列表),Tuple(元组),Dictionary(字典)

数字:python支持四种不同的数字类型:int,long,float,complex(复数:复数由实数部分和虚数部分构成,z=a+bi);

del语句:语法,del var;del语句可以删除一些对象的引用,相当于java中给变量赋值null;del不仅可以删除普通对象引用,还可用于列表操作,删除一个或几个元素;

var = 1;
var1 = 2;

del var;#删除var指向1的引用;类似java中的赋值null操作;

python提供了丰富的函数库,数学运算常见的函数基本都在math,cmath模块中;在使用这个相关的方法前需要先导入对应的函数模块,导入语法如下:

import math

字符串:python字符串取值有两种方式,从左到右索引(从0开始)和从右到左的索引(从-1开始);字符串截取使用[1:3],范围左闭右开;

python不支持单字符,单字符也作为一个字符串使用;

var = 'Hello World!'
var1 = "Hello Python!"

print "输出:",var[:6]+var[6:12]*2
输出结果为:输出:Hello World!World!


#python 三引号,允许一个字符串(字符串中可以包含换行符等特殊字符)跨多行(所见即所得)
var2 = '''hi
hello'''
print var2
输出为:
hi
hello

常见的字符串运算符:

+ :字符串连接;

* :重复输出字符串

[] :通过索引获取单个字符

[:] :截取字符串的一部分

in :字符串中包含给定的字符返回true

not in : 字符串中不包含给定的字符返回true

% :格式化字符串(占位符),类似于c语言中的sprintf函数中的格式化;%d,%s,%p

字符串内建函数:实现了string大部分方法,例如:string.endswith(str,0,3)

print 'abc'.endswith('c')
输出 true

列表:python有6个序列的内置类型,但是最常见的是列表和元组;

List是Python中使用最频繁的数据类型;列表里可以存放大多数数据结构;列表用[]标识,元素之间用逗号分隔,取值方式和字符串类似;列表中的数据项不需要具有相同的类型;

访问列表中的元素和字符串操作类似,也是通过[下标]来访问的,也可以通过[:]进行截取;可以使用append方法对列表进行新增;我们也可以使用del对列表中的元素进行删除,或者直接删除整个列表;

list = [1,2,3]
list2 = ["a","b","c"]
list3 = [1,"a","abc"]
print list3[1:3]
list3.append('abcd')
del list3[3]
del list3

python提供了一些常见的函数来操作列表:

cmp(list1,list2)  :比较函数

len(list) :返回列表的长度

max(list):返回列表中的最大值

min(list):返回列表中的最小值

list(seq):将元组转化成列表

python还提供了一些方法对列表进行增删查,排序,反转等操作;语法:list.append("abc"),list.index("abc")等;

元组:元组类似List,不同之处在于元组的元素不能修改,相当于只读列表;元组用()标识,列表yong[]标识;内部元素用逗号隔开;

tup = (1,2,3)
tup1 = ("ab","abc")
tup2 = (1,2,"ab","abc",3)
tup3= (1,)#只包含一个元素时,需要添加逗号

元组中的元素操作和列表类似,有一点要注意,元组中的元素是不允许修改的,tup1[0]='a'这个操作是非法的;

元组中的函数和方法和列表提供的类似,此外元组提供了将列表转化成元组的方法:tuple(seq);

字典:字典是python中除列表外最灵活常用的数据类型;字典是无序的对象集合,用{}标识,由key:value键值对组成,键值对中间用都逗号分隔;类似java中的Map集合;

dict = {'a':1,'b':2}
print dict['a']

del dict['a']

可使用del删除字典中的某一条目;

字典相关方法:

cmp(dict1,dict2) :比较两个字典元素

len(dict):获取字典中条目个数

str(dict):打印字典中的字符串

type(dict):返回给定对象的类型

dict.clear():删除字典内的所有元素

dict.copy():浅拷贝一个字典对象

dict.has_key(key):给定键是否在字典里

dict.items():获取字典中可遍历的键值对列表

dict.keys()/values():获取字典中的所有键/值

dict.pop(key):删除字典中的某个条目

dict.popitem()返回并删除字典中的最后一个键值对

python数据类型转换:有时候我们需要类型转换,只需要将数据类型作为函数名即可;例如:list(s)将序列s转换为一个列表;

python运算符:python运算符和java,c等常见语言的运算符大部分都相同,下面只介绍不同的部分:

算数运算法:幂运算符 **,a**b表示a的b次幂;取整除 //,返回商的整数部分,向下取整;

逻辑运算符:与 and,或 or,非 not;

成员运算符:in /not in:a in list ,a是否在list中,在返回true,反之;

身份运算符:is/is not;用于判断两个标识符是否引用同一个对象;

python语句:

条件语句:非0和非空值为true;不支持switch语句;判断条件有个值时,可以使用 if...:elif...:elif...else:的形式;

python循环语句:python提供了for,while循环,不支持do...while循环;循环控制语句,break,continue用法和java一样;pass:pass是空语句,为了保持程序结构的完整性;for循环示例:

for fruit in fruits:

  print '当前水果 :', fruit

python日期和时间:

python提供了time和calendar模块用于格式化日期和时间

import time  #导入time模块
time1 = time.time()
time2 = time.localtime(time.time())

print "当前时间戳为:" ,time1
print "本地时间为:",time2
输出为:
当前时间戳为: 1609817493.38
time.struct_time(tm_year=2021, tm_mon=1, tm_mday=5, tm_hour=15, tm_min=10, tm_sec=42, tm_wday=1, tm_yday=5, tm_isdst=0)

获取格式化的时间:

最简单的获取可读的时间函数asctime()

import time
time1 = time.asctime(time.localtime(time.time()))
print time1
输出结果:
Tue Jan  5 15:15:16 2021

time模块的strftime可以用来格式化日期

import time
time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print time
#将格式化字符串转换成时间戳
print time.mktime(time.strptime(time,"%Y-%m-%d %H:%M:%S"))
输出结果:
2021-01-05 15:37:48
1609832268.0

time.sleep(secs)#可以延迟线程的执行

我们可以使用calendar模块来处理日历相关的场景:

import calendar
month = calendar.month(2014,7)
print month
输出结果:
     July 2014
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

calendar.isleap(year)#判断是否是闰年

python函数:

和java方法功能类似,python函数用来提高代码的重用性;函数代码块以def开头,后接函数名和(),()中间可以定义参数,函数内容以冒号起始,函数结尾可以选择性的选择return语句:

def printname(str):
    print str
    return

printname("Hello Python!")
输出结果:
Hello Python!

参数传递:

在python中,变量是没有类型的,类型属于对象;关于python函数传参的方式:我们知道c语言函数传参有两种方式:值传参,和地址传参;java方法传参是值传参(因为引用类型变量本身就是一个地址);python函数传参方式和java类似;

参数:python传递参数比较灵活,按照定义可以分为以下四种类型:

必备参数:如果函数定义时有参数,则调用时必须传递参数;

关键字参数:使用关键字允许调用时传参顺序和声明时的顺序不一致,python编译器会根据参数名称匹配值;

默认参数:函数定义时参数可以有默认值;

不定长参数:*varargsname

def pringname(name,age=18,*var):
    print name
    print age
    return

printname(age=20,name="li")

匿名函数:python支持lambda表达式来创建匿名函数:

sum = lambda arg1,arg2:arg1+arg2
print sum(1,2)

变量作用域:全局变量,局部变量;函数内的变量拥有一个局部作用域;如果要在函数内给全局变量赋值,需要使用global语句:global varname;该表达式会告诉python,varname是一个全局变量;

python模块:

python模块是一个python文件,文件后缀.py;模块中能定义类,函数,和变量;

printname.py模块

def printname(str):
    print str
    return

def printname1(str)
    pirnt 'Hello',str

import语句:如果我们想用printname模块中的方法,需要使用import语句导入printname模块,方法调用格式:模块名.方法名:

import printname

printname.printname('Hello Python!')

from...import语句:该语句可以让你从一个模块中导入一部分到当前命名空间:

from printname import printname1

这个声明只会把printname模块中的printname1方法引入到执行这个声明模块的全局符号表;当然可以使用from printname import *可以导入全部;

dir()函数:可以通过dir()函数返回一个模块里定义过的名字,模块,变量和函数;

系统定义了一些特殊的字符串变量:__name__指向模块的名字;__file__指向该模块的导入文件名;

python中的包:包是一个分层次的目录结构,该目录下必须存在__init__.py文件(文件夹内容可以为空),该文件标识当前文件夹是一个包;

python文件IO

下面简单介绍下文件基本io操作;

print()函数:输出字符串到标准输出

从键盘读取内容:raw_input,input;区别,input可以接受一个python表达式作为输入,并将计算结果返回;

str=input("请输入:")
#此时在控制台输入[x*5 for x in range(1,10,2)]
print str
输出为:
[5, 15, 25, 35, 45]

打开和关闭文件:

python提供了file对象对文件进行基本的操作,获取file对象需要调用open()函数打开一个文件,类似于c语言中的文件操作:

file object = open(file_name[,access_mode][,buffering])

file_name:文件名

access_mode:访问模式

buffering:设置是否使用缓存;0表示不使用缓存;1表示使用行缓存;大于1的值表示设置缓存区的大小,-1表示缓存大小使用默认值;

 

持续更新中。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值