专栏首页python3Python学习二

Python学习二

今天继续学习Python

研究了一下CentOS上运行,网上推荐使用Geany做IDE,下面把安装和使用写一下

1.使用终端,输入命令yum install geany

2.选择“应用程序”——“编程”——“Geany”

3.直接写一个测试代码用一下

print("Hello world")

然后保存为hello.py

4.可以直接按F5运行

可是运行时总是提示我“无法找到虚拟终端xterm”,查来查去,原来geany是利用xterm运行的,而CentOS没有自带,所以我们需要安装一个

5.使用终端,输入命令yum install xterm,可能会提示你是否继续,输入y就行了

6.再次运行就OK了

————————继续我们的学习——————————

函数,静态语言(如:java)称之为方法

def hello():
    print("Hello")

定义了一个名为“hello”的函数,其功能只有一个,就是打印出“Hello”。

之前用过“import random”来产生随机数,说明Python支持像java包一样的层级结构和调用。

#Filename: hello.py
def printHello():
    print("Hello")

我们先创建一个名为“hello.py”的文件,其中包含一个名为“printHello()”的方法来打印

#Filename: myMain.py
import hello
hello.printHello()

再写一个名为“myMain.py”的文件,先用“import”来导入“hello.py”文件,然后调用它的“printHello()”方法。

注意:myMain.py和hello.py两个文件必须在同一个目录下。

下面我们在“hello.py”文件中增加一个版本变量,Python通常每个文件都有版本变量,取名为“__version__”(注意两个下划线),不是必须的但是约定俗成的。

#Filename: hello.py
def printHello():
  print("Hello")
  __version__ = '0.1'

当我执行“hello.__version__”时报错,提示找不到“__version__”,仔细一看原来是__version__写到“printHello()”函数中了,但是怎么把它隔离出来呢?方法很狗血,居然是取消缩进。。。

#Filename: hello.py
def printHello():
    print("Hello")
__version__ = '0.1'#注意,没有缩进!

经过一再测试,即使把“__version__”放在第一行,增加缩进也会造成报错,由此可见:Python是根据缩进判断语句块的。

“hello.py”是自己写的,那么如果一个陌生的py文件,我想知道里面都有哪些函数怎么做呢?

Python提供了“dir()”函数

import hello
print(dir(hello))

得到的结果是:

['__builtins__', '__cached__', '__doc__',
'__file__', '__initializing__', '__loader__',
 '__name__', '__package__', '__version__',
'printHello']

可见除了我们自己定义的“__version__”和“printHello”以为,系统还自动创建了许多变量。

import 导入时需要牺牲性能作为代价的,所以Python会产生一个“.pyc”文件,个人感觉就好像是.java文件编译后产生.class文件一样。

我们可以用del命令删除“.pyc”中的方法和变量,如下:

import hello
print(dir(hello))

得到的结果是:

['__builtins__', '__cached__', '__doc__',
'__file__', '__initializing__', '__loader__',
 '__name__', '__package__', '__version__',
'printHello']

我们再用del删除掉“__version__”

import hello
del hello.__version__
print(dir(hello))

得到的结果是:

['__builtins__', '__cached__', '__doc__',
'__file__', '__initializing__', '__loader__',
 '__name__', '__package__', 'printHello']

看!“__version__”消失了!不用担心,删除的是“hello.pyc”中内容,“hello.py”中内容原封不动,不信可以打开看一下。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 入门

    py3study
  • python 基础(一)

    表示使用 特定的解释器执行 如果是python3 将python改为python3

    py3study
  • python print输出中文

    python print输出中文: 1、直接通过下面的语句输出: print "你好" 会出现乱码: C:\Python27\python.exe...

    py3study
  • SDP(13): Scala.Future - far from completion,绝不能用来做甩手掌柜

      在前面几篇关于数据库引擎的讨论里很多的运算函数都返回了scala.Future类型的结果,因为我以为这样就可以很方便的实现了non-blocking效果。无...

    用户1150956
  • 程序员夫妻结婚戒指刻什么字好?

    近几十年来出现的新物种,拥有无与伦比的耐力、超越时代的智商、和横穿社会的苦逼—程序猿。寂寞寒窗空守寡,来生愿做草泥马。搬砖砌墙敲代码,只为挣钱回来娶媳妇。 辣么...

    CSDN技术头条
  • Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法

    Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误

    用户1558882
  • 程序员夫妻结婚了,婚戒上刻什么字好?

    烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫刻一圈

    华章科技
  • Django的POST请求报403,及四种解决方法

    Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误

    用户1558882
  • Redis 群集部署及原理

    1、所有的Redis节点彼此互联(PING-PONG机制)内部使用二进制协议优先传输速度和带宽。

    小手冰凉
  • csrf 功能 及 csrf装饰器使用

    郭楷丰

扫码关注云+社区

领取腾讯云代金券