Python基础快速入门—精简版(附实例)
基础概念
数字型变量
在Python中,数字型变量是可以直接计算的,变量赋值时也无需声明类型,Python会自动声明其类型。值得注意的是,如果变量是bool型,在计算时:
True 值为1;False值为0
x1=123 #整数型
x2=1.23 #浮点型
x3="123" #单引号、双引号、三引号、三单引号、三双引号都可以表示字符串
>>str=''' Tom said,"Let's go ." '''
Tom said,Let's go .
格式化输出
>>x=input("Please enter a number: " ) #输入一个数赋值给x,注意input方法输入的值是字符串,如此处输入123
>>print("用户输入的数是:%s"%x) #格式化输出到控制台,%d(整数),%f(浮点),%s(字符串)
123
>>int(x) #强制类型转换
>>print("用户输入的数是:%06d"%x) #控制最少输出6位,不足由0补位
000123
逻辑判断结构
Python中是靠if语句来进行逻辑判断的,注意Python中是没有switch结构的。
if格式如下:
if x<10:
print("小于10")
elif x==0:
print("等于10")
else x>10:
if x>15: #此处为if嵌套
print("大于15")
else:
print("15>x>10")
| 逻辑类型 | 含义 |
|---|---|
| and | 且:一假必假 |
| or | 或:一真必真 |
| not | 反向逻辑 |
| == | 逻辑相等判断 |
优先级:not > and > or
循环结构
>>while x<=5: #while循环
print("hello word")
x+=1
>>while True: #while型死循环的应用
print("hello word")
>>for k in range(5):
print(k)
k:定义遍历变量 in 后面接遍历对象
循环结构是应用十分广泛,它还可以与列表、元组、字典等结合使用
| 循环中的关键字 | 含义 |
|---|---|
| continue | 跳过该循环中后面的代码,循环继续 |
| break | 跳过该循环中后面的代码,循环终止 |
小练习:打印九九乘法表
row=1
while row<=9:
col=1
while col<=row:
print("%d*%d=%d" %(row,col,row*col),end="\t") #格式化输出,end="\t"意为同行打印且对齐格式
col+=1
print("")
row+=1
函数定义
定义函数——封装独立的功能
调用函数——享受封装的效果
如将上面的九九乘法表封装,并加入参数n,意为打印n阶乘法表。如下:
def multiply(n):
row=1
while row<=n:
col=1
while col<=row:
print("%d*%d=%d" %(row,col,row*col),end="\t") #格式化输出,end="\t"意为同行打印且对齐格式
col+=1
print("")
row+=1
此时只需要运行如下代码,即可实现九九乘法表
multiply(9)
列表、元组、字典
list1=[1,2,3,4,5] #定义列表
用于存储一串信息,作用类似于数组
list2=(1,2,3,4,5) #定义元组
作用和用法和列表类似,但元组中的元素不可修改
dict1={"name":"Tom","age":"18"}
字典是以key :value 对的形式存在的,以键为标准且必须唯一存在
列表和元组的索引都是从0开始的
字典是集合类型,只以key为标准,不分顺序
切片
用于输出一定范围内的内容,格式:[起点索引 : 终点索引 :间隔],其终点索引不包含自身
>>"0123456"[1:5]
1234
>>"0123456"[::2]
0246
>>"0123456"[::-1]
6543210
适用于字符串、列表、元组 — — 字典不可用
类
Python是一门面向对象的编程语言,我们先来了解下面向对象的一些基本特征。
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员: 类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程称为方法的重写。
局部变量: 定义在方法中的变量,只作用于当前实例的类。
实例变量: 在类的声明中,属性是用变量来表示的。这种变量就称为实例变量。
继承: 即一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
实例化: 创建一个类的实例,类的具体对象。
方法: 类中定义的函数。
对象: 通过类定义的数据结构实例。对象包括两个数据成员和方法。
下面来看一个简单创建类的例子:
class Employee: #此处定义了一个Employee类
empCount=0 #该类中定义了三个类方法
def __init__(self,name,salary):
self.name=name
self.salary=salary
Employee.empCount+=1
def displayCount(self):
print("Total Emloyee %d" %Employee.empCount)
def displayEmployee(self):
print ("Name : ", self.name, ", Salary: ", self.salary)
emp1=Employee("zara",2000) #实例对象
emp2=Employee("Tom",3000)
emp1.displayEmployee() #调用类方法
emp2.displayEmployee()
print( "Total %d" % Employee.empCount)
结果如下:
Name : zara , Salary: 2000
Name : Tom , Salary: 3000
Total 2
继承
#继承上一节的Employee类
class Child(Employee): # 定义子类并继承父类
def __init__(self):
print "调用子类构造方法"
def childMethod(self):
print '调用子类方法'
c = Child() # 实例化子类,子类既可调用自身的方法,也可调用父类方法,此为继承
c.childMethod() # 调用子类的方法
c.displayCount() # 调用父类方法
方法重写
class Child(Employee): # 定义子类
def displayCount(self): # 子类可重新定义父类已存在的方法,该过程称为重写
print("Total Emloyee %d" %Employee.empCount)
总结练习:实现名片管理系统
1、在文件中新建两个python文件,分别命名为:
cards_main.py
cards_tools.py
2、 cards_tools.py作为功能模块导入到cards_main.py
在cards_main.py中输入
import cards_tools
3、开始在cards_main.py中定义方法
card_list = [] #定义名片列表,初始为空
def show_menu(): """显示主菜单选项"""
print("1.新增名片\n"
"2.显示所有名片\n"
"3.搜索名片\n\n"
"0.退出系统\n")
print("^"* 50)
action_str = input("请选择希望执行的操作:")
return action_str```
def return_menu(): #定义返回主菜单的方法
while True:
action_str=input("\n输入0返回主界面")
if action_str=="0":
break
主菜单效果图:
def new_card(): #想card_list中添加新名片的方法
"""
添加新名片信息
"""
print("^"*50)
print("新增名片")
#1.提示用户输入名片信息
name = input("请输入姓名 :")
phone = input("请输入电话 :")
qq = input("请输入QQ号 :")
email = input("请输入Email :")
#2.将输入的信息存入字典格式
card_dict = {"name":name,
"phone":phone,
"qq":qq,
"email":email}
#3.将名片字典存入List
card_list.append(card_dict)
#4.提示添加成功
print("添加' %s '的名片成功!"%name)
return_menu()
添加名片效果图:
def show_all(): #打印系统中全部名片
print("^" * 50)
print("显示所有名片")
#判断是否存在记录
if len(card_list)==0:
print("当前没有名片记录,请添加名片")
return
# 遍历列表打印所有信息
for table_name in ["姓名","电话","QQ ","邮箱"]:
print(table_name,end="\t\t")
print("")
print("-"*50)
for card_dict in card_list:
print("%s\t\t2%s\t\t%s\t\t%s\t\t"%(card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]),end="\t\t\n")
return_menu()
打印列表效果如图:
def sch_card(): #对用户信息进一步编辑的中间方法
print("^" * 50)
#1.提示用户输入要搜索的用户名
find_name= input ("搜索名片\n请输入要搜索的姓名:")
#2.遍历名片列表,找到信息并提示
index=find_card(find_name) #调用find_card方法
#3.可能继续执行的操作
deal_card(index) #调用deal_card方法
return_menu()
def find_card(find_name): #查找用户并返回在列表中的位置
"""
查找指定名字的名片
:param find_name: 要找的姓名
:return: 返回在card_list中的索引
"""
for card_dict in card_list:
if find_name==card_dict["name"]:
print("姓名:%s\n电话:%s\nQQ:%s\n邮箱:%s" %(card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
found_name=find_name
index=card_list.index(card_dict)
break
else:
print("未找到用户")
found_name = ""
return index
def deal_card(index): #显示可处理用户信息的详细功能
action_str = input("1.修改\n"
"2.删除\n"
"0.无需其他操作")
if action_str == "1":
edit_card(index)
elif action_str == "2":
delete_card(index)
elif action_str =="0":
show_menu()
效果如图:
def edit_card(index): #修改用户信息的方法
action_str = input("请问要修改该用户的哪项信息:\n"
"1.姓名\n2.电话\n3.QQ\n4.邮箱\n0.返回上一层")
if action_str=="1":
card_list[index]["name"]=input("请输入新的姓名:")
elif action_str=="2":
card_list[index]["phone"] = input("请输入新的电话:")
elif action_str=="3":
card_list[index]["qq"] = input("请输入新的QQ:")
elif action_str=="4":
card_list[index]["email"] = input("请输入新的邮箱:")
elif action_str=="0":
deal_card(index)
def delete_card(index): #删除名片的方法
card_list.remove(index)
好了,这时候模块中的方法我们就已经全部定义好了,只需在card_main文件中调用即可
import cards_tools
while True:
action_str=cards_tools.show_menu() #显示菜单
if action_str in ["0","1","2","3"]:
if action_str =="1":
cards_tools.new_card()
elif action_str =="2":
cards_tools.show_all()
elif action_str =="3":
cards_tools.sch_card()
elif action_str =="0":
print("正在退出...欢迎下次使用本系统")
break
else: print("您的输入有误,请重新输入")
#include<stdio.h>
int main() {
printf("Hello Python!");
}
Python是不是让你有种飞一般的感觉,你学会了吗?