文档章节

Python 语法杂项

 阿豪boy
发布于 2017/08/30 14:16
字数 1042
阅读 10
收藏 0
点赞 0
评论 0

输出多重列表 

movie = ["a", "b", "c", [1, 2, 3, ['ahao', 'bbb']], 'd']


def print_list(data, level):
    for obj in data:

        if isinstance(obj, list):
            level = level + 1
            print_list(obj, level)
        else:
            # 输出指定字符串level次
            print('\t' * level, end='')
            print(obj)


print_list(movie, 0)

 

去除空格

s = ' x y z '

print(s.strip())
print(s.lstrip())
print(s.rstrip())
print(s.replace(' ', ''))

x y z
x y z 
 x y z
xyz

 

 

字段类型

class Stu:
    def __init__(self,name="none",score=0.0):
        #两个下划线,表示private作用域
        self.__name=name
        self.__score=score

    def getScore(self):
        return self.__score

    def show(self):
        print("name=",self.__name,"score=",self.__score)

s=Stu("Joy",10)
s.show()
name= Joy score= 10

 

 

#字符串转换为数字
r = eval(input("enter a num:\n"))
area=r*r
print("area=",area)

 

 

x,y = eval(input("enter 2 nums(,间隔)\n"))

print("x=",x,"y=",y)

#交换
x,y = y,x
print("x=",x,"y=",y)

#小数除法
print(2/3)

#整数除法
print(2//3)

#任意次幂
print(2.2**2)

 

简单随机数

import random
n= random.randint(1,100)
print(n)
if n > 90:
    print("A")
elif n>80:
    print("B")
else:
    print("C")

 

 

加法表

for x in range(1, 9 + 1):
    for y in range(1, x + 1):
        print(x, "+", y, "=", x + y, end = '\t')
        print("\n")
输出
1+1=2	
2+1=3	2+2=4	
3+1=4	3+2=5	3+3=6	
4+1=5	4+2=6	4+3=7	4+4=8	
5+1=6	5+2=7	5+3=8	5+4=9	5+5=10	
6+1=7	6+2=8	6+3=9	6+4=10	6+5=11	6+6=12	
7+1=8	7+2=9	7+3=10	7+4=11	7+5=12	7+6=13	7+7=14	
8+1=9	8+2=10	8+3=11	8+4=12	8+5=13	8+6=14	8+7=15	8+8=16	
9+1=10	9+2=11	9+3=12	9+4=13	9+5=14	9+6=15	9+7=16	9+8=17	9+9=18	

 

 

from sqlalchemy import Column, String, create_engine
from sqlalchemy import Float
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base


'''
将csv文件导入到数据库,格式为第一行是列名
每行数用逗号隔开,存放一律按照字符串存放,表名即为文件名称
'''
# 创建对象的基类:
Base = declarative_base()

# 定义User对象:
class stu(Base):
    # 表的名字:
    __tablename__ = 'stu'

    # 表的结构:
    id = Column(String(128), primary_key=True)
    name = Column(String(128))
    score=Column(Float)

def getSession():
    # 初始化数据库连接:
    engine = create_engine('mysql+mysqlconnector://root:root@localhost:3306/stumgr')
    # 创建DBSession类型:
    DBSession = sessionmaker(bind=engine)
    return DBSession()

# 创建session对象:
session = getSession()
# 创建新User对象:
new_user = stu(id='4455', name='Bob',score=60)
# 添加到session:
session.add(new_user)
# 提交即保存到数据库:
session.commit()


# 创建Session:
session = DBSession()
# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
user = session.query(stu).filter(stu.id=='2160500100').one()
# 打印类型和对象的name属性:
print('type:', type(user))
print('name:', user.name)
# 关闭Session:
session.close()

 

 

from sqlalchemy import Column, String, create_engine
from sqlalchemy import Float
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import pymysql
pymysql.install_as_MySQLdb()

# 创建对象的基类:
Base = declarative_base()

# 定义User对象:
class stu(Base):
    # 表的名字:
    __tablename__ = 'stu'

    # 表的结构:
    id = Column(String(128), primary_key=True)
    name = Column(String(128))
    score=Column(Float)

# 初始化数据库连接:
engine = create_engine('mysql+mysqlconnector://root:root@localhost:3306/stumgr')
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)

print(DBSession)

# 创建session对象:
session = DBSession()
# 创建新User对象:
new_user = stu(id='4455', name='Bob',score=60)
# 添加到session:
session.add(new_user)
# 提交即保存到数据库:
session.commit()


# 创建Session:
session = DBSession()
# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
user = session.query(stu).filter(stu.id=='2160500100').one()
# 打印类型和对象的name属性:
print('type:', type(user))
print('name:', user.name)
# 关闭Session:
session.close()
输出
type: <class '__main__.stu'>
name: 严育豪

 

 

中文编码乱码

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

s = '你好'
print s
import os

lists = os.listdir('imgs')
for i in lists:
    print unicode(i,'gbk')

 

 

删除整个文件夹


def remove_dir(path):
    if os.path.isfile(path ):
        os.remove(path)
    else:
        files = os.listdir(path)
        for i in files:
            remove_dir(path+'//'+i)
        os.removedirs(path)

 

异常处理

'''
捕获异常的话程序不会断掉
会输出1到9
'''
for i in range(10):
    try:
        if i == 5:
            1 / 0
    except Exception as e:
        print(e)
        
    print(i)

 

多进程效果

from multiprocessing import Pool
import os, time, random


# 运行该函数100次需要100秒
def long_time_task():
    time.sleep(1)


# 多进程运行只需要不到两秒
if __name__ == '__main__':
    print('Parent process %s.' % os.getpid())
    p = Pool(100)
    start = time.time()
    for i in range(100):
        p.apply_async(long_time_task)
    print('Waiting for all subprocesses done...')
    p.close()
    p.join()
    end = time.time()
    print('All subprocesses done.')
    print(end - start)

 

对象传递按照类似指针的形式

class Stu:
    def __init__(self,name):
        self.name=name

def fun(s):
    s.name='----'
    print(s.name)
s=Stu('abc')
print(s.name)

fun(s)
print(s.name)
abc
----
----

 

© 著作权归作者所有

共有 人打赏支持
粉丝 21
博文 953
码字总数 657874
作品 0
西安
python3.x与python2.x的区别汇总

python3.x与python2.7.x都是比较流行的版本,虽然建议现在的初学者开始学习python3.x的版本,但是还有很多的工程使用的是python2.7.x版本。观看代码的时候难免会出现一些问题。 在google上搜...

oldpan
2017/10/10
0
0
ubuntu SVN客户端Rabbitvcs ubuntu上的rabbitvcs

缘由:要在UBUNTU上使用SVN 因为原来都是在WINDOMS 上使用的 tortoiseSvn,So 就在UBUNTU软件中心 搜索了 tortoise,结果下载了个tortoiseHg 完全不会用,上网搜了下,原来是GUI,做,看起来...

wisdomofgod
2015/03/12
0
0
Supporting Python 3——不使用2to3转换支持Python 2和Python 3

不使用2to3转换支持Python 2和Python 3 虽然Python 3的官方文档努阴人们写同时支持Python 2和Python 3的代码,但是在一此情况这是合适的。尤其是你不能放弃支持Python 2.5及更早的版本时,因...

在湖闻樟
2015/10/28
0
0
Dive to Python 学习

主要讲的各个基本类型,integer,float,list,tuple,dic, list method:append,insert,extend, index tuple:no method ,can not change it,bu we can use the index to travel across dic: crea......

happyliferao
2015/04/27
0
0
Python2.x与3.x版本区别

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版...

Airship
2015/11/12
0
0
python2.x和python3.x的区别

Python的3.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python3.0在设计的时候没有考虑向下相容。许多针对早期Python版本...

leejia1989
06/26
0
0
新手该如何学python怎么学好python?

转自:http://hi.baidu.com/zenseeblog/blog/item/4db0dc2012d4c34aad34dee6.html 根据本人的学习经验,我总结了以下十点和大家分享: 1)学好python的第一步,就是马上到www.python.org网站...

flynewton
2010/09/29
0
10
《Python从小白到大牛》简介

本书是一部系统论述Python编程语言、OOP编程思想以及函数式编程思想的立体化教程(含纸质图书、电子书、教学课件、源代码与视频教程)。为便于读者高效学习,快速掌握Python编程方法。本书作...

tony关东升
06/26
0
0
Python学习系列入门篇(一)

概述: python的精彩之处是结了高性能与编写简单的特点。 对于python来说,程序、脚本或者软件都是指同一个东西。 安装: Linux一般自带,不带的话就使用Linux的包管理工具安装 Windows 下载...

疑似一僧
2014/03/01
0
0
Python_018 JSON

环境配置 在使用 Python 编码或解码 JSON 数据前,我们需要先安装 JSON 模块。我们会下载 Demjson 并安装: $tar xvfz demjson-1.6.tar.gz$cd demjson-1.6$python setup.py install JSON 函数...

g00m
2015/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
7分钟前
0
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
17分钟前
0
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
26分钟前
0
0
设计模式:代理模式

代理模式可以分为三种:静态代理,动态代理,cglib代理 1.静态代理:被代理的类需要实现一接口或是继承一父类 委托类(被代理的类): package com.java.pattern.proxy.staticdemo;publ...

人觉非常君
29分钟前
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
35分钟前
0
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
35分钟前
0
0
TensorFlow,从一个 Android Demo 开始

TensorFlow Android Demo 项目地址 Machine Learning 既然提到了 TensorFlow,那是不是得神经网络、机器学习了解下? 如果你能坚持把 机器学习速成课程 给啃完了,觉得还挺有兴趣的,那可以考...

孟飞阳
37分钟前
0
0
JVM学习笔记二:内存结构规范

1、JVM基本结构图 2、java堆(Heap) 3、方法区(Method Area) 4、程序计数器 5、JAVA栈图解 局部变量表:八大基本类型,还可以存储引用类型 上一篇:JVM学习笔记一:类加载机制介绍...

刘祖鹏
42分钟前
0
0
mui集成微信H5支付(返回白屏问题已经解决)

一.项目需求 因为公司人员缺少,没有专门开发安卓和ios的人员,为了项目尽早上线采用了混合APP开发的方式,我选择了MUI混合开发框架,项目中需要在用户购买VIP会员的时候进行支付,所以需要在项目...

银装素裹
46分钟前
0
0
SpringBoot集成Redis--配置自定义的RedisCacheManager

配置自定义的RedisCacheManager--1自定义键生成规则 默认的键生成器 当不指定缓存的key时,SpringBoot会使用SimpleKeyGenerator生成key。 SimpleKeyGenerator SimpleKey 查看源码可以发现,它...

karma123
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部