Python基础语法小记

1、变量的名称由字母、数字、下滑线组成,开头必须是字母,不允许包含空格,通常以下划线进行分割单词,尽量以小写进行命名。

name = "ZhangSan";
user_name = "LiSi";

2、title()方法将变量中的单词首字母进行转大写,upper()方法将变量中所有的单词进行转大写,lower()方法将变量中所有的单词进行转小写。

name = "zhang san";
print(name.title())
name = "li si";
print(name.upper());
name = "WANG WU";
print(name.lower());

3、lstrip()方法去掉左边空白,rstrip()去掉右边空白,strip()去掉头部跟尾部空白;“\t\n”是制表符。

name = "\tzhang san";
print(name)
print(name.lstrip())
name = "li si\t";
print(name)
print(name.rstrip());
name = "\tWANG WU\t";
print(name)
print(name.strip());

4、str()方法将整数型等进行字符串转换。

age = 23;
print("age:" + str(age));

5、Geary中输出中文乱码,在头部声明"#coding=gbk",等号附近不允许出现空格,同时注释也是用“#”。

#coding=gbk
#我是注释

6、append向列表(数组)里面添加元素,insert向列表(数组)里面指定索引位置添加元素,del删除列表内指定索引元素,remove删除指定元素,pop()默认删除末尾元素也可以指定索引删除元素。

# coding=gbk
# 原始列表
user = ['张三','李四']
print(user);
# 添加王五元素
user.append('王五');
print(user);
# 在头部添加赵六,所有原始后移一位
user.insert(0,'赵六');
print(user);
# 删除头部元素
del user[0];
print(user);
# 删除尾部元素
user.pop();
print(user);
# 删除指定元素张三
user.remove('张三');
print(user);
# 删除指定索引元素
user.pop(0);
print(user);

7、sort() 对列表进行从小到大排序;使用函数sorted() 对列表进行临时排序;使用方法reverse()将元素反转;各函数传递参数reverse=True可以反向排序;len()获取长度。

# coding=gbk
# 原始列表
user = ['A','D','B','X','F']
print(user);
print("******");
# 临时从小到大排序
print(sorted(user));
print(user);
print("******");
# 临时从小到大排序,反转
print(sorted(user,reverse=True));
print(user);
print("******");
# 永久从小到大排序
user.sort();
print(user);
print("******");
# 永久从小到大排序,反转
user.sort(reverse=True);
print(user);
print("******");
# 直接将列表反转
user.reverse();
print(user);
# 输出列表长度
print(len(user));

8、遍历列表,for循环后面第一条语句要进行缩进。

# coding=gbk
user = ['zhao','qian','sun','li']
for info in user:
	print("欢迎 \n\t" + info.title() + " 先森.");

9、for循环后面的语句要进行缩进,嵌套在for循环里面的语句必须缩进。

# coding=gbk
number = (1,2)
for value in number:
	print("输出多个value")
	print(value)

print("***无耻的分割线***")

for value in number:
	print("只输出一个value")
print(value)

10、min、max、sum对数字进行简单的统计。

number = (1,2,3,4,5,6,7)
print(min(number))
print(max(number))
print(sum(number))

11、列表解析 将for 循环和创建新元素的代码合并成一行, 并自动附加新元素。

number = [value for value in range(1,10)]
for value in number:
	print(value)

12、获取列表中从指定索引到指定索引位置的元素,复制指定所引到指定索引位置的元素。

number = [value for value in range(1,10)]
code = number[1:3]
for value in code:
	print(value)

13、不可变的列表被称为元组,通常使用圆括号标识,可以通过索引来访问元素,虽然不能修改元组的元素, 但可以给存储元组的变量重新赋值。

number = (1,2,3)
for value in number:
	print(value)

print("*****")
number = (4,5,6)
for value in number:
	print(value)

14、使用and和or检查多条件

# coding=gbk
age = 23;
if age < 2:
    print("婴儿")
elif age > 1 and age < 6:
    print("小朋友")
else:
    print("大朋友")
    
print("*****")

number = [value for value in range(1,5)]
if 3 in number:
	print("包含3")
else:
	print("不包含3")

15、字典是键值对,每个键都与一个值相关联,可以使用键来访问与之相关联的值。可以利用关键字代替索引的方法访问字典,同时,可以直接对新的关键字赋值实现在字典中添加新元素,可以使用del语句删除字典中的元素。

# coding=gbk
person = {'name':'张三','age':'23'}
print(person)
person['sex'] = '男'
print(person)
del person['age']
print(person)

16、遍历字典,通过keys,values,items分别获得字典的不同内容列表,可以利用set([])去除列表中的重复项。

# coding=gbk
person = {'name':'张三','age':'23','city':'湖南','address':'湖南'}
for key,value in person.items():
	print("key:"+key+",value:"+value);
for key in person.keys():
	print("key:"+key)
for value in person.values():
	print("value:"+value)
for value in set(person.values()):
	print("value:"+value)


17、字典、列表多层嵌套。

# coding=gbk
person = {'name':['张三','李四','王五'],'book':['语文','数学','英语']}
for key,value in person.items():
	print("key:"+key)
	for content in value:
		print("\t"+content)

18、函数input()接受一个参数,即要向用户显示的提示或说明。 使用函数input()时, Python将用户输入解读为字符串。如果要解读为数值需要使用int()方法。

#coding=gbk
city = []
flag = True;
while flag:
    cityName = input("请输入一个城市 :")
    city.append(cityName)
    repeat = input("还有要添加的城市吗? Y/N :")
    if repeat == 'Y':
         continue
    elif repeat == 'N':
        flag = False
    else:
        continue

19、编写函数时给参数定义默认值,可以在调用时省略相应的参数。传递任意数量的实参。

#coding=gbk
#~固定参数顺序的函数
def on_success(name, desc):
	print(name + " : " + desc)
#~参数具备默认值的函数
def on_error(name='张三', desc='电话号码格式不正确'):
	print(name + ":" + desc)
#~固定参数+任意参数的函数
def on_ok(name, *desc):
	print(name + ":" + str(desc))

on_success('李四','注册成功')
on_error('李四')
on_error(desc='注册失败',name='李四')
on_ok('李四','邮箱不正确','密码不一致')

20、导入函数,整个文件或指定函数。

#coding=gbk
#~导入整个文件,通过名称调用函数
import check
check.on_success()
#~导入单个函数
from check import on_success
on_success()
#~导入多个函数
from check import on_success,on_error
on_success()
on_error
#~函数别名
from check import on_success as os,on_error as oe
os()
oe()

21、编写类,初始化方法,修改类属性,继承父类,重写父类的方法。

#coding=gbk
#~ 打开模块user,导入User类
# ~ from user import User
#~ 打开模块object,导入User类跟Dept类
# ~ from object import User,Dept
# ~ 导入整个user模块
# ~ import user
class User():
    #~ 定义初始化方法
    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age
    #~ 构造方法
    def update_sex(self, sex):
        self.sex = sex
    #~ 构造方法
    def show(self):
        print(self.name + "," + self.sex + "," + self.age)

class Admin(User):
    #~ 定义初始化方法
    def __init__(self, name, sex, age):
        #~ 初始化父类
        super().__init__(name, sex, age)
        #~ 定义子类属性
        self.password = '000000'
    # ~重写父类方法
    def show(self):
        print("重写后:"+self.name + "," + self.sex + "," + self.age + ","
        + self.password)
    #~ 构造方法
    def update(self, password):
        if password != '000000':
            self.password = password
            print("密码修改成功:" + self.password)
        else:
            print("密码未修改")
    #~ 构造方法
    def recover(self):
        if self.password != '000000':
            self.password = '000000'
            print("密码重置成功:" + self.password)
        else:
            print("密码是初始密码:" + self.password)
my_admin = Admin('张三', '女', '15')
my_admin.show()
my_admin.update_sex('男')
my_admin.show()
my_admin.update('123456')
my_admin.recover()

22、读取文件内容。

#coding=gbk
# ~ 定义文件相对路径
file_path = 'file/number.txt'
# ~ 定义接收内容的变量
file_content = ''
# ~ 开始一行一行读取内容,读取到的内容是一个列表且带尾部有空格
with open(file_path) as file_object:
    lines = file_object.readlines()
# ~ 开始遍历读取的内容,去掉尾部空格
for line in lines:
    file_content += line.strip()
# ~ 输出前面4个字符
print(file_content[0:4])
# ~ 定义文件绝对路径
file_path = 'F:/SoftWareWorkSpace/python_work/file/number.txt'
# ~ 读取整个文件内容
with open(file_path) as file_object:
    fileContent = file_object.read()
print(fileContent)

23、写内容到文件。

#coding=gbk
# ~ 定义文件路径
file_path = 'file/person.txt'
# ~ 定义循环终止条件
flag = True
# ~ 定义录入人数
num = 0;
while flag:
    num += 1
    # ~ 发起用户会话录入信息
    name = input("请输入来访人姓名: ")
    cell = input("请输入来访人电话: ")
    # ~ 开始以追加模式写入文件
    with open(file_path,'a') as file_object:
        if num == 1:
            content = '姓名: ' + name + " , 联系电话: " + cell
        else:
            content = '\n姓名: ' + name + " , 联系电话: " + cell
        file_object.write(content)
    message = input("还有需要录入的人员吗? (Y/N) : ")
    if message == 'Y':
        number = num + 1;
        print("开始录入第 " + str(number) + " 位人员")
    else:
        flag = False;
        print("本次到访一共: " + str(num) + " 人,录入结束")

24、捕获异常。

#coding=gbk
count = input("请输入一个数字")
number = input("请再输入一个数字")
try:
    result = count / number;
    print("数字相除结果: "+ str(count))
except:
    print("输入的字符有误,程序退出.")


25、切割字符。

#coding=gbk
message = "Hello,Word"
result = message.split(',')
print(result)

26、读写文件,json格式存储信息。

#coding=gbk
# ~ 引入json
import json
# ~ 定义获取用户方法
def get_user_info():
    # ~ 定义文件相对路径
    file_path = 'file/user.json'
    try:
        # ~ 读取文件,获取信息
        with open(file_path, 'r') as file_object:
            username = json.load(file_object)
    except:
        # ~ 读取文件失败返回空
        return None
    else:
        # ~ 读取文件成功返回结果
        return username
# ~ 定义检查用户方法
def check_user_info():
    # ~ 获取用户信息
    username = get_user_info()
    # ~ 获取成功
    if username:
        print("欢迎回来: " + username + " !")
    else:
        # ~ 提示用户输入信息
        username = input('请输入用户名')
        # ~ 定义文件路径
        file_path = 'file/user.json'
        # ~ 写入用户数据
        with open(file_path, 'w') as file_object:
            json.dump(username, file_object)
        print("用户注册成功")
check_user_info()

27、测试模块,在TestCase 类中包含了方法setUp() ,Python将先运行它,再运行各个以test_开头的方法,最后窗口会输出各个方法通过情况。

#coding=gbk
# ~ 导入测试模块
import unittest
# ~ 导入需要测试的类
from user import User
# ~ 定义测试类继承测试模块的TestCase类
class TestUser(unittest.TestCase):
    # ~ 定义全局的变量
    def setUp(self):
        name = '张三'
        self.my_user = User(name)
        self.my_language = ['英语','法语','俄语']
    # ~ 第一个测试方法
    def test_add_language(self):
        self.my_user.add_language(self.my_language[0])
        self.assertIn(self.my_language[0], self.my_user.language)
    # ~ 第二个测试方法
    def test_add_language_more(self):
        for value in self.my_language:
            self.my_user.add_language(value)
        for value in self.my_language:
            self.assertIn(value, self.my_user.language)
    # ~ 第三个测试方法
    def test_show(self):
        self.my_user.show_name()
        self.my_user.show_language()
# ~ 执行测试类中所有的测试方法
unittest.main()


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值