Skip to main content

Python 3 学习笔记 - 基本语法

Python标识符

1、标识符第一个字符必须是字母表中字母或下划线'_'

2、标识符的其它部分由字母、数字和下划线'_'组成

3、标识符大小写敏感

4、标识符不可与Python保留字冲突,查询保留字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']


代码注释

1、单行注释以 # 开头

2、多行注释可以用多个 # 号,或者使用三个单引号 ''' 或三个双引号 """ 将注释括起来

3、py文件第一行注释标用于指向 python 解释器的路径,例:

#!/usr/bin/python3
#!/usr/bin/env python3


导入模块import

1、Python中用 import 或者 from...import… 来导入相应的模块,类似于C语言中的include头文件

2、从某个模块中导入某个函数,格式为:

from moduleX import func

3、从某个模块中导入多个函数,格式为:

from moduleX import funA, funB, funC

4、将整个模块导入,格式为:

from moduleX import *

或者

import moduleX

5、通过import moduleX 导入,引用时要加module名前缀,例:sys.

import sys
def example1():

print sys.path

6、Python常用的包

数据分析
numpy、scipy、pandas

绘图包
matplotlib、seaborn

机器学习
scikit-learn、Gensim、NLTK

网络爬虫
urllib、BeautifulSoup


代码块格式

1、Python使用缩进来表示代码块,不需要使用大括号{ }

2、同一个代码块的语句必须包含相同的缩进量(空格 或 tab)

3、函数之间或类的方法之间用空行分隔,区分两段不同功能或含义的代码

4、代码语句过长时,使用反斜杠 \ 实现语句换行

total = item_one + \
        item_two + \
        item_three

5、Python也可在同一行中使用多条语句,语句之间使用分号 ; 隔开

#!/usr/bin/python3

import sys; x = 'creast'; sys.stdout.write(x + '\n')

6、多个语句构成代码组,首行以关键字开始,以冒号 : 结束

if expression :
    case1
elif expression :
    case2
else :
    case3


循环与控制流

1、循环判断常用操作符

<    小于
<=  小于或等于
>    大于
>=  大于或等于
==  等于,比较对象是否相等
!=   不等于

2、if 条件控制

if a>b or b < 0:
    print(“>”)
elif a == b:
    print(”=”)
else:
    print(“<”)

3、while 循环

while i < n:
    i+=1
    if i%2 == 1:continue
    print(“the num is:”,i)
    if i == 10: break
print(”end while”)

while i< n:
   print (i, " <")
   count += 1
else:
   print (">=")

4、for 循环

for i in range(n):
    print(“the num is:”,i)
else:
   print("只在 for 循环正常终止时执行")


常用函数

range()函数

1、range(n) 默认从0开始,执行n次。

2、range(x,y,z) 参数说明:

x: 起始值,包含
y: 终止值,不含
z: 步长,可以为负数

print()函数

1、sep 参数用于将结果输出到同行,在每个输出元素之间添加分隔符:

>>> print(‘aa’,’bb’,’cc’,sep=' : ')
aa : bb : cc

2、end 参数用于在输出的结尾添加分隔符,且下一个输出不换行,:

>>> print(‘aa’,end=' : ')
>>> print(‘bb’,end=' : ')
>>> print(‘cc’,end=' : ')

aa : bb : cc

Comments

Popular posts from this blog

Cloudera Hadoop 集群安装(ubuntu + CDH5.10)

前言 CDH是Cloudera公司的Hadoop发行版,基于稳定版本的Apache Hadoop构建,包含Hadoop,Spark,Hive,Hbase和一些工具等,并集成了很多补丁,可直接用于生产环境。通过Cloudera Manager可以简化hadoop各组件的部署和配置过程。 目前CDH对ubuntu支持的最高版本为14.04,因此不建议使用更高版本的ubuntu来部署CDH。 环境准备: 1.配置网络(所有节点) 修改hostname: $ sudo vi /etc/hostname cdh01 修改IP地址: $ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static         address 172.16.13.11         netmask 255.255.255.0         gateway 172.16.13.254 重启网络服务生效: $ sudo ifdown eth0 && sudo ifup eth0 修改ip与主机名的对应关系: $ sudo vi /etc/hosts 172.16.13.11 cdh01 172.16.13.12 cdh02 172.16.13.13 cdh03 2.配置SSH(所有节点) 启用root登陆(CDH5.10需要进行此步操作) $ sudo vi /etc/ssh/sshd_config #PermitRootLogin without-password PermitRootLogin yes $ sudo service ssh restart $ sudo passwd root 设置ssh无密码登陆 //在主节点上执行一路回车,生成无密码的密钥对 $ ssh-keygen -t rsa //将生成的密钥文件复制到其它节点 $ ssh-copy-id cdh02 $ ssh-copy-id cdh03 测试: 在主节点上ssh hadoop2,正常情况下,不需要密码就能直接登陆进去了。 3.安装Oracle JDK(所有节点) 运行CDH5必须使用Oracle的Jdk,需要Java 7及以上版本支持。 在Oracle的官网下载jdk包,解压到相应目录,例如/usr/java/jdk1.8.0_

Tor洋葱路由的设置与使用

先说明一下,这里只是利用Tor来访问被GWF屏蔽的优秀服务(如Wikipedia、Blogger、GG App等),并不侧重于如何匿名访问网络。以下Tor设置方法适用于: MS Windows(2000/XP/Vista/Server)系统 第一步:下载并安装Tor 关于Tor(The Onion Router,洋葱路由)的工作原理,可以参考枪旗工作室的说明 ( http://tcno.net/doc/tor/#para1 )。在Windows下安装配置Tor已经非常容易了,直接下载这样一个Tor的Windows 捆绑软件包( Vidalia-Tor-Privoxy Bundle ),其中已经预先配置好这些软件能够一同工作。 安装前可以看到套件捆绑了哪些软件:Tor、Vidalia(Tor 的一个图形用户界面)和 Privoxy(Web 代理软件)、Torbutton(Firefox浏览器插件)全选这些软件进行安装。 安装完成后会自动运行Vidalia,在弹出的控制面板上可以看到当前的状态,Tor已经运行了,此时不需要再进行其它设置了。 第二步:配置浏览器使用Tor 如果使用 Firefox 浏览器,Bundle里已经附带了 Torbutton 插件 ,打开/重启Firefox就会在右下角显示Tor Enabled/Disabled,单击它可以选择是否开启Tor代理功能。 对于 Internet Explorer 没有现成的插件可用,需要手动配置代理设置,也很容易。 菜单位置 工具 - Internet 选项 - 连接 - 局域网设置 - 代理服务器 - 高级 - 服务器 在代理理服务器地址栏里填入 "localhost",端口为 "8118"(Privoxy不支持FTP代理,填不填都无所谓了);注意套接字SOCKS代理的端口为 "9050",如果有其它选项,请选择Socks5,然后"确定"即可。 对于 Maxthon ,如果对IE设置了Tor可以选择“使用IE代理设置”,或者手动添加一个代理列表,内容与上面填写的一样,然后选择应用就可以了。 这里说明一下 Privoxy 的作用,因为当直接使用 SOCKS 代理时,浏览器会泄露

Bitwarden 配置 Let’s Encrypt 证书

由于在内网环境部署的Bitwarden,不能通过安装脚本自动申请 Let’s Encrypt 的证书。 起初我用了一个自签名证书,发现特别不好使,虽然在firefox 跟 chrome 内核的浏览器上都能通过插件访问,但必须添加信任才行,特别是用Bitwarden Desktop 客户端连的时候,一直报错,可能是不认自签名证书。 于是琢磨了下怎么手动申请Let’s Encrypt的证书用于内网,对过程简单梳理如下。 自签名证书 | Self-Signed Certificate 如果你在内网环境只需要自签名证书,可以参考Bitwarden的帮助文档( Installing and depoying )进行设置: 1、生成自签名证书: //一条命创建私钥和证书: openssl req -x509 -newkey rsa:4096 -sha256 –nodes -days 10950 \    -keyout privite.key -out identity.crt \    -subj "/C= US /ST= New York /L= New York /O= Company Name /OU= CREAST /CN= bw.creast.win " 将生成的文件放到 /ssl 目录下: privite.key     ~/bwdata/ssl/ bw.creast.win/private.key identity.crt      ~/bwdata/ssl/ bw.creast.win/identity.crt 2、生成.pfx格式证书文件: //一条命令将前面生成的私钥和证书打包成需要的pfx格式文件 openssl pkcs12 -export -out ./ identity.pfx -inkey privite.key \    -in identity.crt -certfile identity.crt -passout pass: IDENTITY_CERT_PASSWORD 注意 IDENTITY_CERT_PASSWORD 跟./env/global.override.e