【Python基础】

关于 if __name__=='__main__'

p y t h o n python python代码中常常有这样一句if __name__=='__main__',它的作用是什么呢,下面看两个程序
第一个 p i n g . p y ping.py ping.py

# ping.py
PI = 3.14159

def ping():
	print('PI:',PI)
ping()

第一个 p a n g . p y pang.py pang.py

from ping import PI

def circle():
	print(PI*2**2)

cirlce()

运行第二个文件,结果如下

PI:3.14159
12.56636

我们发现输出两个文件,说明在导入 p i n g . p y ping.py ping.py p i pi pi时,先运行了 p i n g . p y ping.py ping.py;python中__name__的值代表入口程序,而python中导入模块,会被直接运行,但是我们是不希望导入的模块被运行的,而作为直接运行的python程序的__name__变量值为__main__,所以我们在导入模块中加入if __name__=='__main__,代表如果此文件不是直接运行的程序,就不执行它的程序;在上面的程序中,我们想要运行pang文件,我们就需要在ping中加入if __name__=='__main__,或者两个都加;

*符号

a*b即a乘以b,a**B即a的b次方,*或 **还可接在函数定义参数之前,分别代表为一个元组或者字典;

replace()方法

它用于把字符串中指定的旧子字符替换成指定的新子字符串,如果指定count可选参数则替换指定的次数,默认全部替换,它返回的是一个替换后的字符串;
语法
S.replace(old,new[,count=S.count(old)])
参数
old为指定的旧子字符串,new为指定的新的子字符串,count可选参数为替换次数;
返回值
返回值为一个替换后的新串.S本身并没有改变;
使用

print('i am a student.'.replace(' ','@'))
print('i am a student.'.replace(' ','@',1))
# ->i@am@a@student.
# ->i@am a student.
时间

输出当前时间

import datetime
print(datetime.datetime.now())
# 2019-07-01 14:03:57.933164

控制格式输出时间

print(datetime.datetime.now().strftime("%y-%m-%d %H:%M:%S"))
# 19-07-01 14:06:17
字符串拼接
str1='world'
  1. 用+进行拼接
str2='hello'+str1
# ->hello world

该方法效率较低,不建议用;

  1. 用%进行拼接
str2='hello %s' % str1
str3='they are %s, %s, %s.' % ('Tom','Mike','Johson')
# ->they are Tom, Mike, johson.

除了元组,还可以用字典

str='There are %(name1)s, %(name2)s, %(name3)s.' % {'name1':'Tom','name2':'Mike','name3':'Johson'}
# ->There are Tom, Mike, Johson.
  1. 用join()方法拼接
temp = ['There are',' Tom,',' Mike,',' Johson.']
print(''.join(temp))
# ->There are Tom, Mike, Johson.

这里的列表可以换成元组
join的使用如下

str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
# ->a-b-c
  1. 用format()方法拼接如下
str='They are {}, {}, {}.'
temp=str.format('Tome','Mike','Johson')
print(temp)
# ->They are Tome, Mike, Johson.

还可以指定参数的位置

str='They are {2}, {0}, {1}.'
temp=str.format('Tom','Mike','Johson')
print(temp)
# ->They are Johson, Tom, Mike.
  1. 用string模块的template对象,
from string import Template
str=Template('They are ${name1}, ${name2}, ${name3}.')
# 如果缺少参数或报错,使用safe_substitute()则不会
print(str.substitute(name1='Tom',name3='Mike',name2='Johson'))
print(str.safe_substitute(name1='Tome',name2='Mike'))
# ->They are Tom, Johson, Mike.
# ->They are Tome, Mike, ${name3}.

其中substitute方法返回的是一个string,safe_substitute返回的也是一个string,其中它们的参数位置可以指定;

文件

文件读取

file=open("D:\\1.txt",'r')
print(file.read())
# 读取前9个字符
string=file.read(9)
print(string)

文件写入

file=open("D:\\1.txt",'w')
file.write("这条语句将被写入")
第三方模块的下载及安装

命令格式如下,在windows下在cmd下直接输入即可

# 格式:pip <command> [modulename]
pip install numpy
# numpy 是python的一个扩展程序库支持大量的维
# 度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

# 用于查看已经安装的第三方模块
pip list
# 查看python有哪些模块(包括标准模块和第三方模块)
help('modules')
连接数据库
import pymysql
# 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名称
db=pymysql.connect("localhost","root","root","school")
# 使用cursor()方法创建一个游标对象cursor
cursor=db.cursor()
# 使用execute()方法执行sql查询
cursor.execute("select version()")
# 使用fetchone()
data=cursor.fetchone()
print("Data version:%s " % data)
# 关闭数据库连接
db.close()

# Data version:5.5.40 
创建数据库
import pymysql
db=pymysql.connect("localhost","root","root","school")
cursor=db.cursor()
cursor.execute("drop table if exists books")
sql="create table books(id int  primary key,name varchar(20),price int 20)"
cursor.execute(sql)
db.close()

程序运行之后,在school中成功创建了books表,如下图所示
在这里插入图片描述

向数据库插入数据

批量插入数据

import pymysql
db=pymysql.connect("localhost","root","root","school")
cursor=db.cursor()
data=[
	('1',"零基础学Python",'78'),
	('2',"零基础学PHP",'80')
	('3','零基础学Java','90')
]
try:
	# 执行sql语句,插入多条数据
	cursor.executemany("insert into books(id,name,price) values(%s,%s,%s)",data)
	# 提交数据
	db.commit()
except:
 	# 发生错误就回滚
	db.rollback()
db.close()
anaconda
  • Anaconda是一个开源的包、环境管理器,可以用于在同一个机器上安装同版本的软件包及其依赖,并能够在不同的环境之间切换
  • Anaconda包括Conda、Python以及一大堆安装好的工具包,比如numpy、pandas等,Miniconda包括Conda、Python
  • anaconda 是一个python的发行版,包括了python和很多常见的软件库, 和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易。
    装了anaconda就不需要装python了。

什么是anaconda
…待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值