笔记(一)python之基础小语法
一、python中import和from import 的区别
python中四种导入模块的方式:
import xx # 直接使用import进行导入
import xx as yy # 例子:import numpy as np,再次引用时直接使用np应用即可
from xx import yy
# xx表示模块,yy表示xx模块的特定的类、函数、变量等,就是从xx模块中引用yy的类、函数、变量等
from xx import * # *表示xx模块中的所有具体的类、函数、变量等
二者区别(import...|from ... import ...):
第一种只是导入一个模块,并且将该模块执行一遍,有在当前的命名空间中导入变量,需要通过xx.yy的方式使用导入模块中的变量、函数、类等;
第二种将该模块中的变量yy导入当前命名空间,使用时可以直接用yy调用,注意程序中不要有重名现象。这里要记住,from xx import *这种方式尽量不使用,因为这样会破坏对命名空间的管理,并且使用from xx import *时,不能导入以单下划线开头的保护属性和以双下划线开头的私有属性。
二、tkinter库介绍
from tkinter import * # 使用tkinter制作了一个简单的验证登陆窗口
from tkinter.messagebox import * # messagebox-弹窗库(弹窗提醒)
class Login(object): # 定义Login类
def __init__(self, master=None):
self.root = master # 定义内部变量root
self.root.geometry('%dx%d' % (600, 400)) # geometry-设置窗口大小
self.root.resizable(0, 0) # resizable-窗口大小固定
self.username = StringVar()
self.password = StringVar()
# 利用StringVar接收用户输入, 制作用户名和密码的验证登录窗口
self.cratePage()
.grid()方法
以下语句可以在你的应用界面显示 w 插件:w.grid(option=value , ...)
这个方法使用 grid 结构管理器,登记了 w 插件。如果没有这条语句,将不会在屏幕中显示这个插件,而只存在于代码中。语句中的 option 项可查看表 1,.grid() 结构管理器的参数。
表 1. .grid()结构管理器的参数
option | 解释 |
---|---|
column | 插件布放的列数值,从0开始。默认值为0 |
columnspan | 正常情况下,一个插件只占一个单元 。但是,你可以通过设置 columnspan 来合并一行中的多个邻近 单元 ,并用此 单元 放置本插件。比如, w.grid(row=0, column=2, columnspan=3) ,这会把插件 w 布置在 将第0行的2,3,4列合并后的 单元 中。 |
in_ | 用 in_=w2 可以将 w 登记为 w2 的child插件。 w2 必须是 w 创建时指定parent插件的child插件。 |
ipadx | x方向的内部填充。在插件内部,左右方向各填充指定长度的空间。 |
ipady | y方向的内部填充。在插件内部,上下方向各填充指定长度的空间。 |
padx | x方向的外部填充。在插件外部,左右方向各填充指定长度的空间。 |
pady | y方向的内部填充。在插件内部,上下方向各填充指定长度的空间。 |
row | 插件布放的行数值,从0开始。默认值 为 未布放行 的下一个数值。 |
rowspan | 正常情况下,一个插件只占一个单元 。但是,你可以通过设置 rowspan 来合并一列中的多个邻近 单元 ,并用此 单元 放置本插件。比如, w.grid(row=3, column=2, rowspan=4, columnspan=3) ,这会把插件 w 布置在 合并了20个 单元 的区域中,也就是3-6行和2-6列。 |
sticky | 这个参数用来确定:在插件正常尺寸下,如何分配 单元 中多余的空间。具体如下。 |
- 如果没有声明sticky属性,默认将插件居中于 单元 中。
- 通过设置
sticky=tk.NE
(靠右上方),sticky=tk.SE
(靠右下方),sticky=tk.SW
(靠左下方),sticky=tk.NW
(靠左上方),可以将插件布置在 单元 的某个角落。 - 通过设置
sticky=tk.N
(靠上方),sticky=tk.E
(靠右方),sticky=tk.S
(靠下方),sticky=tk.W
(靠左方),可以将插件布置在 单元 的某个方向上。 - 通过设置
sticky=tk.N+tk.S
,在垂直方向上延伸插件,并保持水平居中。 - 通过设置
sticky=tk.E+tk.W
,在水平方向上延伸插件,并保持垂直居中。 - 通过设置
sticky=tk.N+tk.E+tk.W
,在水平和垂直方向上延伸插件,填满 单元 。 - 也可以使用其他的组合。比如,
sticky=tk.N+tk.S+tk.W
,在垂直方向上延伸插件,并靠左布放。
注:.grid()方法翻译自新墨西哥理工大学计算机中心
三、python中class的定义及使用
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
对象:它是类的实例化。 方法:类中定义的函数。
名称 | 类名 |
属性 | 指对象的特征(一组数据) |
方法 | 允许对象进行操作的方法 (行为/功能) |
Python 3.0以上版本取消了经典类,默认都是新式类(新式类的语法 -> class 类名(object): )。
class MainPage(object):
类对象支持两种操作:属性引用 和 实例化。
属性引用的语法:obj.属性
类实例化的语法:obj = 类名()
类中方法的调用:obj.方法名()
# 举例说明
class teacher(object):
def speak(self): # 定义方法
print("%s 说:同学们,还有%s天你们就要毕业了!" % (self.name, self.day))
T = teacher() # 转换为实例对象
T.name = "张老师" # 给对象添加属性
T.day = "300"
T.speak()
# >>>张老师 说:同学们,还有300天你们就要毕业了!
四、python小语法笔记
1、def __init__(self)方法介绍:
在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,可以包含多个属性。
class Student:
def __init__(self):
self.name = None
self.age = None
self.sex = None
2、python——None
None
,在python中表示空。它是一个类型,也是一个对象。当然,None值上虽然不是False,但是它的含义等同于空,bool值为False。
3、Python格式化输出%s和%d相关介绍
%s | 表示格化式一个对象为字符,打印字符串 |
%d | 打印整数 |
%字符 | 标记转换说明符的开始,在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。 |
|
打印浮点数 |
举例说明
# 格式化输出实例说明
# 1、打印字符串——%s
print("My name is %s ." % "Tom")
# >>> My name is Tom .
# 2、打印整数——%d
print("My age is %d ." % 2)
# >>> My age is 20 .
# 3、打印浮点数——%f
print("My height is %f m" % 1.8)
# >>> My height is 1.800000 m
# 4.打印浮点数(指定保留小数点位数)——%.2f
print("My height is %.2f m" % 1.8)
# >>> My height is 1.80 m