python基本语法笔记(完结)

2024-05-12 17:18

本文主要是介绍python基本语法笔记(完结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.python的文件类型有三种分别是源代码,字节代码和优化代码,源代码扩展名是py,python语言的代码可以不需要编译成二进制代码直接运行源代码;字节代码扩展名是pyc,是编译过的字节文件,具有平台无关性;经过优化的源文件生成扩展名为pyo的文件。pyc和pyo文件都不能通过文本编辑工具打开和修改。

2.python使用冒号和代码缩进来区分代码的层次,最佳的代码缩进长度是4个空格。当程序出现错误的时候有可能就是因为代码缩进出现了错误

3.模块导入有两种方式,

第一种是import 语句导入模块中的所有,,

import  sys

print sys.path

第二种是from。。import。。语句导入模块中的一部分

from sys import path

print path

4.python 中的分号可以省略,使用换行来识别语句的结束。要在一行中写多条语句就必须要使用分号分隔开,分号不是python推荐的使用的语句结束的符号,最好是直接换行结束语句

5.一条语句写在多行

string="shixiaotian\

xiaoningyuan\

love"或者

string="shixiaotian"\

"xiaoningyuan"\

"love"

6.变量名可以是字母数字下划线的组合 但是首字符必须是字母和下划线

7.p'ython中的变量不需要声明,变量的赋值就是声明和定义的过程,可以给多个变量同时赋值(x,y,z)=(1,2,3)

8.python创建的变量就是一个对象,python会管理变量的生命周期,对变量的回收采用的也是垃圾回收机制

9.定义了全局变量之后,引用全局变量要使用global关键字 之前定义了一个全局变量a=2,现在需要引用和修改 global a=3

10.python中并没有定义常量的关键字,但是可以自己实现

class _const:

    class constError(TypeError):pass

    def __setattr__(self,name,value):

        if self.__dict__.has_key(name):

            raise self.constError,"can not rebind const"

        self.__dict__[name]=value

import sys

sys.modules[_name_]=_const()     最后这两行的意思是将const注册到sys.modules这个全局字典中

定义一个常量:

import const

const.magic=20

11.数据类型包括数字,字符串,元组,列表和字典

12.数字类型和java基本一样,还特殊支持复数7+8j。python中的浮点型只有双精度

13.在python中所有的变量其实都是对象,如下定义的变量a,修改a的时候其实本质是又定义了一个变量

a=10

print a

a=20

print a

14.python中标识字符串类型的方式有三种,单引号,双引号,三引号。单引号和双引号的作用是一样的,三引号比较厉害了,三引号中可以出入单引号,双引号和换行符。三引号还能制作文档字符串,python中每一个对象都有一个__doc__属性,这个属性用来描述对象的作用

class  hello:

    '''hello class'''

    def printhello(self):

        '''''print hello class'''

        print "this is hello class"

print hello.__doc__                          

print hello.printhello.__doc__

15.特殊符号的输出需要转移字符print ' he\'s  apple',但是使用双引号和三引号可以直接输出含有特殊字符的字符串不需要使用转义符print '''he's apple'''

16.python 中运算符使用和java一样,特殊的幂运算2的三次幂,2**3

17.python中的关系运算也和java一样,但是类似12<=a<=18也是支持的

18.python的逻辑运算使用and,or,not

19.运算的优先级肯定是算术运算大于关系运算大于逻辑运算

20.python中的控制台输入有两种,input()和raw_input(),前者支持输入数字和表达式不支持字符串,后者捕获用户的原始输入,返回的是字符串,输入的是数字返回的还是字符串,需要用int()转换成数字。括号中用来显示输入时候的提示信息。

x=input("x=")

print x

y=raw_input(''x='')

print y

numbers=raw_input(''输入5个数字用逗号隔开: '').spilt(",")

print numbers

21.python中的if语句和java很相似,但是条件语句中并没有switch语句,可以用字典来实现,但是并不推荐这种做法。

22.while..else..循环语句,当条件真的时候执行while循环内部的片段,当条件不成立之后执行else中的片段

23.range函数返回一个递增或者递减的数字列表,range(5,-1,-1)返回一个列表[5,4,3,2,1,0],最后一个参数是步长,默认是1。和range相比和有xrange,基本用法和参数是一样的,不同的是,range直接返回一个列表,但是xrange返回的是一个xrange对象,通过对象得到各个值。

x=xrange(0,10)

print x      结果是xrange(10)

print  x[0]     0

print  x[5]      5

24.for...in...循环语句,for x in range(1,10)  也有for...in....else..语句和22中的意义一样

25.break的含义和java中相同,continue也和java相同

26.python内置的数据结构有四种,元组,列表,字典和序列

27.元组创建的时候多有元素包含在一对圆括号中,,创建的时候可以不指定元素的个数,相当于不定长数组,但一旦创建之后就不能修改元组的长度。test=("aaa","bbb","ccc","dddd"),当一个元组只有一个元素的时候test=("aaa",)不要忘了那个逗号,要不然python解释器无法识别这个元组,以为是一个表达式。空元组test=()。元组的索引是从0开始的,因此获取元组的一个元素的时候为test[0],依此类推,其他的数据结构也是同样的。元组创建之后元素的值是不能修改的,也不能添加或者删除元素。

28.python中有两个索引的特殊用法,负数索引和分片索引。

29.负数索引从元组的尾部开始计数,最后一个元素的索引是-1,倒数第二个是-2,test[-1],test[-2]

30.分片索引格式为test[a:b],意思是a到b之间的元素,包含a,不包含b。a,b可以是0,正整数或者负整数。test[1:5]输出从第二个到第五个元素组成的元组,test[1:-1]那就是第二个元素到倒数第二个元素

31.二元元组,test((a,b),(c,d))访问的时候test[x][y],可以理解成是二维数组

32.元组的创建过程叫做打包,还可以执行解包,将元组的各个元素分别赋值给多个变量a,b,c,d=(1,2,3,4)

33.对二元元组的遍历小代码:

test=((''a'',''b''),(''aa'',''bb''),(''aaa'',''bbb''),(''aaaa'',''bbbb''))

for i in range(len(test)):

    print ''test[%d]: ''% i,

    for j in range(len(test[i])):

        print test[i][j]

    print

34.列表是很重要的一种数据类型,通常作为函数的返回类型,列表和元组相似,也是一组元素形成,但是列表可以添加删除和查找操作,元素的值可以被修改。

35.列表的创建,test[''a'',''aa'',''aaa''],列表的添加使用append(object),添加新元素到列表的尾部,添加的对象可以是元组,列表,字典或任何对象,列表的删除调用remove(value),删除value元素,如果元素不存在将出现异常。

test[''a'',''aa'',''aaa'']

test.append(''b'')

test.insert(1,''bb'')  在指定的位置添加元素,此处索引是1,就是第二个元素的位置

test.remove(''a'')

print test.pop(0)   弹出第一个元素,并返回这个元素,输出a

36.remove删除列表中的元素的时候,如果该元素有多个,那么只能删除位置靠前的那一个

37.列表的使用和元组的使用很相似,同样支持负数索引,分片索引,多元列表等特性,但是列表的元素是能修改的,有一个处理列表的方法。

38.列表的连接,一种是调用extend()连接两个不同的列表,另一种是使用运算符+或者+=。

list1=[''a'',''b'']

list2=[''c'',''d'']

list1=list1+list2    

list1.extend(list2)

list2+=[''cccc'']*2    连接了两个同样的列表

39.list.index(value)返回value元素在列表中的位置,list.sort()对列表进行排序,默认是首字母升序,降序为sort(reverse=True),list.reverse()实现序列的颠倒

40.字典是一系列键值对组成的集合,用逗号隔开,包含在一堆大括号中test={"a":"shixiaotian","b":"xiaoningyuan"}。字典元素的value值可以是很多数据类型,还可以是元组,列表和字典等。字典的访问test[''a''],创建一个空的字典就是test={}。代码中书写的字典的中元素的顺序并不是实际存储的顺序,字典将更具元素的hashcode值进行存储。字典的键是区分大小写的,同时还可以采用数字作为键。

41.print输出字典,print ''%s,%(a)s,%(b)s''% {''a'':''apple'',''b'',''banana''}。最后输出的结果是{''a'':''apple'',''b'',''banana''},apple,banana。在代码中%s输出字典原型内容,%(a)s输出字典中对应的key值a的value,下一个同理。

42.

haha={a':'shixiaotian','b':'xiaoningyuan'}
haha['love']='ilovoyou'    创建一个元素
print haha                      输出三个元素的字典
del(haha['love'])             删除对应的元素
print haha
print haha.pop('a')        删除一个指定元素
print haha
haha.clear()                 清空字典

43.字典的遍历

haha={'a':'shixiaotian','b':'xiaoningyuan','love':'ILoveYou'}
for k in haha:
print '%s,%s'%( k ,haha[k])

#输出结果是 a,shixiaotian
# b,xiaoningyuan
# love,ILoveYou

print haha.items()                            #输出了一个列表,列表元素为元组 [('a', 'shixiaotian'), ('b', 'xiaoningyuan'), ('love', 'ILoveYou')]
for k,v in haha.items():
print '%s,%s'% (k,v)     输出结果和上面的循环输出一样


print haha.iteritems()        #这三行返回的结果是一样的,都是返回了字典的遍历器对象,
print haha.iterkeys()          #具体的遍历方式是如下
print haha.itervalues()      #<dictionary-itemiterator object at 0x0000000002D89EA8>

for k,v in haha.iteritems():
print '%s,%s' % (k,v)
for k,v in zip(haha.iterkeys(),haha.itervalues()):
print '%s,%s' % (k, v)        上面两个循环返回的结果是一样的

44.字典的方法dict.keys()返回字典的key组成的列表,dict.values()返回字典value组成的列表,dict.get('c','apple')访问字典中的元素,如果key值为c的元素存在,那么直接返回其value值,如果不存在返回预设值apple。dict1.setdefault('a','mm')给字典添加一个元素&

这篇关于python基本语法笔记(完结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983244

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e