python 基础(一),,第一个程序hello


第一个程序

hello.py 以下为内容

#!/usr/bin/envpython#-*-coding:utf-8-*-__author__=‘teng‘print‘hello‘
#!/usr/bin/envpython

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

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

表示将代码编码设置为utf-8(针对Unicode的可变长度字符编码,用1到6个字节编码UNICODE字符)

如果不写不能显示中文 默认ascii码(1个字节)来读

运行 python hello.py

变成可执行文件

sudo chmod +x hello.py

运行./hello.py

技术分享


注释

# 单行注释

"""多行注释"""

一般在文件中在正文前使用"""多行注释"""表明用处

脚本参数

python flask.py 127.0.0.1:8000

如何捕获flask.py 127.0.0.1:8000

flask,py 为 arg[0]

127.0.0.1:8000 为arg[1]

flask.py代码

importsysprintsys.argv

运行

pythonflask.py127.0.0.1:8000

结果

[‘flask.py‘, ‘127.0.0.1:8000‘]

argv 为一个列表

字节码

importsysimporthelloprintsys.argv


运行 => 生成hello.pyc文件

pyc编译生成 字节码 (可以反编译)

如果编译完成 => 可以删除hello.py => import hello依然可以导入

变量

python 是动态语言

不需要声明 name = "红雀"

name 就是一个引用就是C的*name 指向 内存里"红雀"这个字符串

变量名要求=> 字母下划线和数组组成 但数字不能开头 内部关键字不能使用

name1 = name name的地址给了name1:内存公用

变量并不是最好的选择 变量相对于fp是灾难 可以用monad解决IO

当然上述是理论

字符串

c中"hello"为一个字符串数组 :

地址连续=>python 将其封装 如若存在相同字符串 内存固定

修改=>重新创建

内部机制 以下请看图自行理解 提示字符串缓存池

技术分享

+每次使用一次就在内存中申请一个新的内存

占位符 %s(字符串) %d(数字)=>%xx

{0} {1} => .format(xx,xx)

输入

raw_input: 接收为字符串

input:输入什么类型 接收什么类型

模块getpass 密码隐形

流程控制

if else

name=raw_input("请输入用户名:")ifname=="红雀":print"登陆成功"else:print"登陆失败"

值对比 ==

引用对比 is

多种形式(case)

name=raw_input("in:")ifname=="teng":print"good"elifname=="rommel":print"nice"else:print"bad"

缩进=>自行养成风格

importgetpassname=raw_input("name:")pwd=getpass.getpass("password:")ifname=="teng"andpwd=="teng":print"success"else:print"fail"

基本数据类型

单值:数字(int32/64之分)、字符串、布尔值

集合:列表、元组、字典、set(哈希表)




python 基础(一)

评论关闭