生活工程体验信仰哲学精神
快软网
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

python的基本语法和脚本格式

9月13日 孤小单投稿
  我们在上一篇文章中已经学会了如何简单的运行python命令和脚本,但是,距离真正的写脚本还有一段距离。
  为了防止我们写出来的脚本运行时报各种语法格式错误,我们需要在本章先学习下python的基本语法和脚本格式。
  脚本声明
  由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF8编码。当Python解释器读取源代码时,为了让它按UTF8编码读取,我们通常在文件开头写上这两行:
  !usrbinenvpython
  coding:utf8
  或者
  coding:utf8
  第一行注释是为了告诉LinuxOSX系统,这是一个Python可执行程序,根据usrbinenv路径去找python的运行程序来运行,Windows系统会忽略这个注释;
  第二行注释是为了告诉Python解释器,按照UTF8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
  如果你使用Notepad进行编辑,除了要加上coding:utf8外,中文字符串必须是Unicode字符串。
  模块(类库)的引入
  引入语句一般放在声明语句后面。
  Python在语义中存在着包、模块、类(当然还有函数)这几个概念。
  在编写Python代码时,我们需要管理代码的文件目录结构。
  这时候会遇到这样一种情况:
  1。由于Python一个文件算一个模块,一个带init。py的目录算一个包。
  2。而为了控制代码文件不要过大,我们需要的是一个类(几个类或加些许函数)分配一个文件。
  Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。
  如引用,需import,如引入算数模块,系统模块
  引入mysql数据库驱动
  importmath,os,sys
  importMySQLdb
  Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。BoostCLibraries包含了一组库,Boost。Python,使得以Python或C编写的程序能互相调用。借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C,Python已成为一种强大的应用于其他语言与工具之间的胶水语言。
  引用自己写的模块则需要注意路径问题,现在有相对引用和绝对引用的说法,更多详情可查看。
  一般来说自己需要引用所有的py文件放到调用它们的py文件同一目录下使用import即可。
  例如我们有main。py文件和hapdbtools。py文件,放在同一目录如下:
  hapdbtools。py文件声明了一个类DBtool内容如下:
  coding:utf8
  authorzzq
  importMySQLdb
  importsys
  classDBtool():
  definit(self):
  获取数据库连接enter函数配合with使用自动调用enter和exit
  :return:
  try:
  self。dbMySQLdb。connect(host192。168。1。80,port3306,dbtest,userzzq,
  passwd123456,charsetutf8)
  self。cursorself。db。cursor()
  exceptMySQLdb。Error,e:
  self。errorcodee。args〔0〕
  errormsgMySQLerror!,e。args〔0〕,e。args〔1〕
  printerrormsg
  defenter(self):
  获取数据库连接enter函数配合with使用自动调用enter和exit
  :return:
  self。dbMySQLdb。connect(host192。168。1。80,port3306,dbtest,userzzq,
  passwd123456,charsetutf8)
  self。cursorself。db。cursor()
  returnself
  defexit(self,type,value,traceback):
  self。db。close()
  defquerydatabybarcode(self,barcode):
  SQLselectdataselectdatafrommytablewherebarcodes
  self。cursor。execute(SQLselectdata,barcode)
  resultself。cursor。fetchall()
  resultself。cursor。fetchone()
  ifresult:
  returnresult
  else:
  returnnone
  则main文件中引用时使用语句:
  fromhapdbtoolsimportDBtool
  调用方法时使用语句:
  dbtoolsDBtool()
  resultdbtools。querydatabybarcode(barcode)
  print(result)
  查看哪些脚本调用了hapdbtools脚本使用命令
  grephapdbtools
  注释
  注释以字符起始,直至实际的行尾;代码中注释不会被Python解释;文本字符串中的仅表示
  thisisthefirstcomment
  SPAM1andthisisthesecondcomment
  STRINGThisisnotacommentandthisisthethirdcomment
  前后三个单引号可进行多行注释
  通常是对函数、对象的说明
  注释代码仍以为主
  赋值
  用于变量赋值;变量直接赋值,无须定义变量类型;无须定义变量的数据类型
  a20
  变量在使用前必须赋值,否则会出错
  xyz1可将同一个值赋给多个变量
  在Python中,变量名没有类型,但对象有;变量名只是对对象的引用(内部实现为指针)
  变量命名规则及惯例
  语法:(下划线或字母)(任意数目的字母、数字或下划线)
  变量名必须以下划线或字母开头,而后面接任意数目的字母、数字或下划线。
  区分大小写:SPAM和spam不同
  禁止使用保留字
  命名惯例:
  以单一下划线开头的变量名(X)不会被frommoduleimport语句导入
  前后有下划线的变量名(X)是系统定义的变量名,对解释器有特殊意义
  以双下划线开头,但结尾没有双下划线的变量名(X)是类的本地(“压缩”)变量
  通过交互模式运行时,只有单个下划线的变量名()会保存最后表达式的结果
  简单的输入、输出
  简单的输入输出
  rawinput(Pleaseinput:)Python2。xrawinput()
  input(Pleaseinput:)Python3。xinput()
  printhelloworldPython2。x可以不用加()
  print(helloworld)Python3。x必须要加(),不然会报错!Python3。xprint()会是空行,而Python2。xprint()则会显示(),须注意!
  print(ThisisNote)该条报错!需对转义
  关于特殊字符及Unicode
  关于特殊字符及Unicode
  print(ThisisNote)转义
  print(ThisisnNote)n换行
  print(Hellouu0020World)uxxxx:Python2。xunicode对象直接在字符串前加u关键字
  print(Hellou0020World)Python2。x直接输出Hellou0020World,Python3。x会输出HelloWorld
  字符串双引号等特殊字符需转义,转义的方法是在前面加上;n表示换行
  从Python3。0开始所有的字符串都支持Unicode(参考)
  Unicode的先进之处在于为每一种现代或古代使用的文字系统中出现的每一个字符都提供了统一的序列号。之前,文字系统中的字符只能有256种可能的顺序。通过代码页分界映射。文本绑定到映射文字系统的代码页。这在软件国际化的时候尤其麻烦(通常写作i18n’i’18个字符’n’)。Unicode解决了为所有的文字系统设置一个独立代码页的难题。
  语法规则
  a,b0,1变量也可这么赋值,但不建议
  whileb30:
  print(b)
  a,bb,ab相当于ab和bab
  需要注意的是:缩进
  Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Offside规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。同样的如if语句如下:
  根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。
  不缩进会报错的例子
  a2
  ifa1:
  print(a1)if无执行语句会报错,若需实现if条件下print,参考如下
  缩进不对导致if语句无效的例子
  a0
  ifa1:
  print(a1)
  print(a!1)该语句始终会执行,因为缩进并不在if条件下
  缩进不对导致if语句无效不会报错,非常容易坑人,改为以下层次if条件生效:
  a0
  ifa1:
  print(a1)
  print(a!1)该语句仅if成立条件下执行
  更多格式问题参考:
  控制语句
  if语句,当条件成立时运行语句块。经常与else,elif(相当于elseif)配合使用。for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。while语句,当条件为真时,循环运行语句块。try语句。与except,finally配合使用处理在程序运行中出现的异常情况。class语句。用于定义类型。def语句。用于定义函数和类型的方法。pass语句。表示此行为空,不运行任何操作。assert语句。用于程序调适阶段时测试运行条件是否满足。with语句。Python2。6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。yield语句。在迭代器函数内使用,用于返回一个元素。自从Python2。5版本以后。这个语句变成一个运算符。raise语句。制造一个错误。import语句。导入一个模块或包。fromimport语句。从包导入模块或从模块导入某个对象。
  importas语句。将导入的对象赋值给一个变量。
  in语句。判断一个对象是否在一个字符串列表元组里。
  数据结构
  Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。所以操作对象时可能会抛出异常。不过,虽然Python采用动态类型系统,它同时也是强类型的。Python禁止没有明确定义的操作,比如数字加字符串。与其它面向对象语言一样,Python允许程序员定义类型。构造一个对象只需要像函数一样调用类型即可。类型本身也是特殊类型type的对象(type类型本身也是type对象),这种特殊的设计允许对类型进行反射编程。
  Python内置丰富的数据类型。与Java、C相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python3。x):
  除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。
  类型描述例子备注
  str一个由字符组成的不可更改的类型“joe”在python3里,字符串由Unicode字符组成
  bytes一个由字节组成的不可更改的类型bb”joe”
  list可以包含多种类型的可改变的类型〔4。0,”joe”,True〕
  tuple可以包含多种类型的不可改变的类型{4。0,”joe”,True}
  set,frozenset与数学集合的概念类型,无序,每个元素唯一{4。0,”joe”,True},frozenset()
  dict一个可改变的由键值对组成的类型{4。0,”joe”,True}
  int精度不限的整数66
  float浮点数,精度与系统相关3。1415927
  complex复数32。7j
  bool逻辑值,真假True,False
  表达式
  ,,,,,,,分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取模。
  ,表示右移和左移。
  ,,表示二进制的AND,OR,XOR运算。
  ,,,!,,用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。
  在这些运算符里面,,,,,,必须应用于整数。
  使用and,or,not表示逻辑运算
  区分列表(list)和元组(tuple)两种类型;支持列表切割(listslices)
  一些Python特有的方法,如range()lambda等
  函数
  Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(DocumentationStrings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。比如:help(randint)
  函数示例
  defmyfun1():
  print(hi)
  myfun1()调用函数
  defmyfun2(a):函数可带参数,参数可为多个
  if(a2):
  print(2)
  myfun2(3)
  对象
  对象示例
  classUser(object):Python2。x需在()内加Python3。x不用加object
  definit(self,name):类似于构造函数
  self。namename
  defprintname(self):
  print(self。name)
  uUser(John)u为一User对象
  print(u。name)输出对象属性
  User。printname(u)调用printname()函数
投诉 评论 转载

吴盛:求类似魔王神官和勇者美少女类似的小说。热文聚热点网 朱国锋的回答:暗黑破坏神之毁灭,从各种意义上说的比较接近,包括字数。不过该书是从200多章之后开始有爱起来的。另外就是神巫六六的苍空战旗姜雨辰的回答:暗黑破坏……宗次郎热文聚热点网 宗次郎(),本名野村宗次郎,日本奥卡利那笛演奏者,作曲家,1954年10月10日出生于日本群马县,1975年第一次听到奥卡利那笛的演奏,就被深深的吸引了,从那一年起,他追求着自……《麻原彰晃等七名奥姆真理教成员执行死刑》深刻解析:邪教组织的 文张云在线根据媒体报道,日本邪教“奥姆真理教”教主麻原彰晃已于7月6日被执行死刑。此教会吸引众多年轻人加入,宣扬世界末日即将到来,要与政府决一死战等等。并且使用生化武器和……左文辉:去招聘会时候看到个“上海大学生求职驿站”的广告,请问 郭丰铭的回答:这是一种专门供刚毕业的大学生求职时临时居住的旅馆吧。通常叫“求职公寓”。面对的主要是特定群体,相对其他旅馆,人员没那么杂乱。价钱也比较低。比较适合大学生求职……python的基本语法和脚本格式热传聚热点网 我们在上一篇文章中已经学会了如何简单的运行python命令和脚本,但是,距离真正的写脚本还有一段距离。为了防止我们写出来的脚本运行时报各种语法格式错误,我们需要在本章先学……【聆听】当所有的热情都耗尽,请问你是谁?热议聚热点网 当所有的热情都耗尽,请问你是谁?作者鸢尾花主播Lucy露西摄影云慕潇编辑子墨美文来源丨鸢尾花开(ID:yuanweihuakai00)当一座城成为记忆里的明信片,当黑夜只剩下夜……如果有一天我离开了你热博聚热点网 如果有一天我离开了你请相信不是因为我不爱你而是,我不知道该如何更爱你如果有一天我离开了你请相信不是因为我忘记了海誓山盟而是面对现实我无……祖传绝密秘方40则(10)热评聚热点网 1、慢性前列腺炎食疗便方(1)鲜葡萄250克,去皮、核、捣烂后加适量温开水饮用,每日12次。(2)荸荠150克(带皮),洗净去蒂,切碎捣烂,加温开水250毫升,充分……肾结石食疗9大药膳有效防治肾结石(1)热评聚热点网 肾结石对于人们来说是非常熟悉的,很多人都是肾结石患者,而对于肾结石的危害大家也是了解一二的,对于对于肾结石的防治要格外的重视。而除了配合医生的治疗外,日常的一些药膳食疗也是可以……哈姆雷特到底是个什么样的人?热传聚热点网 哈姆雷特是一个不相信他的子民,仇恨心太强,心理负担太大,郁郁不乐的一个人。他虽然善于思索,却优柔寡断;他虽然受到人民的爱戴,却并不相信人民。他说:“时代变得越发不像样子,个农民……应急科普图说:节后复工复产,9大不安全行为要警惕!热议聚热点 中秋假期已经结束复工复产期间安全事故易发多发各企业应提高警惕守住安全生产红线底线强化安全生产措施复工复产中有哪些不安全行为要警惕一起来看……三大85花中秋比美:刘诗诗秀美背,赵丽颖晒香肩,杨颖仙气足完 虽然现在一年中古今中外形形色色的节日越来越多,大家都快审美疲劳了。但是在那些正式和非正式的扎堆节日中,几大传统佳节,依然是最具人气和底蕴的,比如中秋节。即便现在节日太多,……
奇瑞4S店确认:新版瑞虎8PRO二月上市!超省油,价格认可吗 爱永难忘作文热传聚热点网 小红书自建“围城”,估值200亿、不再免票热闻聚热点网 如果我是你初二作文热传聚热点网 【歌词】如果这就是爱情张靓颖歌手:2010年歌曲热博聚热点网 三星GalaxyZFold4爆出新增1TB版本,搭载一代骁龙 放飞梦想作文热议聚热点网 我的爷爷奶奶热议聚热点网 谈论人生中考满分作文热传聚热点网 父亲节的作文700字热议聚热点网 写小学想象作文400字热闻聚热点网 冬至的作文400字热议聚热点网
锦衣之下严世蕃眼睛为什么是异瞳?严世蕃结局揭秘为什么我们总对别人有情绪访谈在高质量发展中促进共同富裕不让任何一个学生当观众的好学校好可怕有钱人的4个宝库赚钱财富资金与权益!赚钱的方式你懂了?炖牛尾困难像条狗,你逃它就追人生哲理都有哪些动物(全球10大稀有动物)司藤安蔓身份是什么安蔓和秦放怎么样了君乐宝小小鲁班奶粉怎么样?不黑不夸,只说真相斡耳朵是什么意思?解密成吉思汗四大斡耳朵杨绛散文集吾先生旧事抬零

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西