本系列博文基于廖雪峰老师的官网Python教程,笔者在大学期间已经阅读过廖老师的Python教程,教程相当不错,官网链接: 廖雪峰官方网站.请需要系统学习Python的小伙伴到廖老师官网学习,笔者的编程环境是Anaconda+Pycharm,Python版本:Python3.
1.数据类型和变量
# 数据类型:
# 1.整型:Python中能处理任意大小的整数
intNum1 = 584520
intNum2 = -100
score = 100
# 2.浮点数:即小数
floatNum1 = 3.1415926
floatNum2 = 1.23e10 # 科学记数法
# 3.字符串:使用单引号或双引号括起来的文本
str1 = '584520JD'
str2 = "584520JD"
str3 = "Hello Python."
# 4.转义字符:\n换行,\t制表符,\\为\本身
print("Hello Willard.\n")
print("Welcome to FUXI Technology.")
# 5.布尔值:True和False
bool1 = True
bool2 = 2 > 1 # 输出True
# 6.空值:None,和0不是等价的
# 变量和常量:
# a.变量命名:变量名是大小写字母、数字和_的组合,但不能以数字开头;
# b.格式:variable_name = variable_value,等号=是赋值符号;
# c.常量:不能变的变量,通常用全部大写的变量名表示常量
PI = 3.1415926
# 实例1:
# 实例:
student_name = input("请输入您的名字:")
score = int(input("请输入您的分数(0-100):"))
NAME = "willard"
if student_name == NAME:
if ((score > 100) or score < 0):
print("您输入的分数错误!请重新输入!")
else:
print("您的分数为%d" % score)
else:
print("您的名字输入有误,请重新输入!")
# 情况1:输入完全正确的输出
请输入您的名字:willard
请输入您的分数(0-100):100
您的分数为100
# 情况2:名字输入有错的输出
请输入您的名字:Willard
请输入您的分数(0-100):59
您的名字输入有误,请重新输入!
# 情况3:分数输入有错的输出
请输入您的名字:willard
请输入您的分数(0-100):101
您输入的分数错误!请重新输入!
2.字符串和格式化
# 字符串:
# 1.字符串定义:用单引号或双引号括起来;
# 2.获取字符的整数表示:ord()函数;
# 3.把编码转换为对应的字符:chr()函数;
# 4.字符串的类型为:str;
# 5.Python中的字符串类型为str,在内存中以Unicode表示,一个字符对应若干个字节;
# 6.如果要在网络上传输或保存到磁盘上,需要把str变成以字节为单位的bytes;
# 7.以Unicode表示的str通过encode()方法编码为指定的bytes;
# 8.如果从网络或磁盘上读取字节流,读到的数据为bytes;需要使用decode()方法把bytes变为str;
# 9.计算字符串长度:len()函数;
# 10.告诉Linux系统,这是一个Python可执行函数,在程序头添加下面一行
#!/usr/bin/env python3
# 11.告诉Python解释器,按照utf-8编码读取源代码,在程序头添加下面一行
#-*- coding:utf-8 -*-
# 实战1:
# 1.字符串定义
studentOne = 'Willard'
studentTwo = "ChenJD"
print("The name of first student is:",studentOne)
print("The name of second student is:",studentTwo)
print("----------------------------------------------")
# 2.获取字符的整数表示:ord()函数
char1 = 'A'
print("A字符的整数表示为:",ord(char1))
print("----------------------------------------------")
# 3.把编码转换为对应的字符:chr()函数
int1 = 97
print("97对应的字符为:",chr(int1))
print("----------------------------------------------")
# 4.字符串类型:type()函数
studentName = "FUXI"
print("字符串的类型为:",type(studentName))
# 输出结果:
The name of first student is: Willard
The name of second student is: ChenJD
----------------------------------------------
A字符的整数表示为: 65
----------------------------------------------
97对应的字符为: a
----------------------------------------------
字符串的类型为: <class 'str'>
# 实战2:
# 5.把str变成以字节为单位的bytes
print("'Willard'变成以字节为单位的bytes:",'Willard'.encode('ascii'))
print("'中国'变成以字节为单位的bytes:",'中国'.encode('utf-8'))
print('----------------------------------------------------------------')
# 6.把bytes变为str
print("b'Willard'从bytes变为str:",b'Willard'.decode('ascii'))
print("b'\\xe4\\xb8\\xad\\xe5\\x9b\\xbd'从bytes变为str:",b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-8'))
# 输出结果:
'Willard'变成以字节为单位的bytes: b'Willard'
'中国'变成以字节为单位的bytes: b'\xe4\xb8\xad\xe5\x9b\xbd'
----------------------------------------------------------------
b'Willard'从bytes变为str: Willard
b'\xe4\xb8\xad\xe5\x9b\xbd'从bytes变为str: 中国
# 实战3:表白密语
yourWord = input("请输入您想转换成密语的话:")
cryptolalia = yourWord.encode('utf-8')
print("您的密语已生成,请查收!\n",cryptolalia)
# 输出结果:
请输入您想转换成密语的话:我爱你,陈金娣
您的密语已生成,请查收!
b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xef\xbc\x8c\xe9\x99\x88\xe9\x87\x91\xe5\xa8\xa3'
----------------------------------
请输入您想转换成密语的话:我爱你,中国!
您的密语已生成,请查收!
b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xef\xbc\x8c\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81'
# 实战4:
# 6.计算字符串长度
strOne = "Hello,Welcome to FUXI Technology."
strOneLen = len(strOne)
print("字符串%s的长度为:"%(strOneLen))
print("-------------------------------------------")
# 比较两个名字的长度
nameOne = input("第一个同学,请输入您的名字:")
nameTwo = input("第二个同学,请输入您的名字:")
nameOneLen = len(nameOne)
nameTwoLen = len(nameTwo)
if (nameOneLen > nameTwoLen):
print("第一个同学的名字长一些!")
elif (nameOneLen == nameTwoLen):
print("两个同学的名字一样长耶!")
else:
print("第二个同学的名字长一些!")
# 输出结果:
字符串33的长度为:
-------------------------------------------
第一个同学,请输入您的名字:Willard
第二个同学,请输入您的名字:ChenJD
第一个同学的名字长一些
# 格式化:
# 格式化方法1:
# %用来格式化字符串
# 在字符串内部,%s表示用字符串替换,%d表示用整数替换
# 有几个%?占位符,后面就需要跟几个变量或值,需要对应
# 常见的占位符:
# %d:整数占位;%f:浮点数占位;
# %s:字符串占位;%x:十六进制整数占位;
# %%:表示一个%;
# 格式化方法2:
# format():用传入的参数依次替换字符串内的占位符{0}、{1}、...
# 实战5:
print("下面是个人信息登记表,请如实填写!")
print("------------------------------------")
name = input("请输入您的名字:")
sex = input("请输入您的性别(男/女):")
age = int(input("请输入您的年龄:"))
qq = input("请输入您的QQ号:")
print("------------------------------------")
print("请再一次核查下面信息是否正确填写!")
print("您的姓名是:%s"%name)
print("您的性别是:%s"%sex)
print("您的年龄是:%d"%age)
print("您的QQ号是:%s"%qq)
print("-------------------------------------")
print("如上述信息无误,请提交,感谢您的填写!")
# 输出结果:
下面是个人信息登记表,请如实填写!
------------------------------------
请输入您的名字:Willard
请输入您的性别(男/女):男
请输入您的年龄:18
请输入您的QQ号:1107152666
------------------------------------
请再一次核查下面信息是否正确填写!
您的姓名是:Willard
您的性别是:男
您的年龄是:18
您的QQ号是:1107152666
-------------------------------------
如上述信息无误,请提交,感谢您的填写!
print("下面是个人信息登记表,请如实填写!")
print("------------------------------------")
name = input("请输入您的名字:")
sex = input("请输入您的性别(男/女):")
age = int(input("请输入您的年龄:"))
qq = input("请输入您的QQ号:")
print("------------------------------------")
print("请再一次核查下面信息是否正确填写!")
print("您的名字是:{0};性别:{1}".format(name,sex))
print("您的年龄是:{0};QQ号:{1}".format(age,qq))
print("-------------------------------------")
print("如上述信息无误,请提交,感谢您的填写!")
# 结果输出:
下面是个人信息登记表,请如实填写!
------------------------------------
请输入您的名字:Willard
请输入您的性别(男/女):男
请输入您的年龄:18
请输入您的QQ号:1107152666
------------------------------------
请再一次核查下面信息是否正确填写!
您的名字是:Willard;性别:男
您的年龄是:18;QQ号:1107152666
-------------------------------------
如上述信息无误,请提交,感谢您的填写!
注:以上代码均经过验证,但并不是生产环境部署的代码,只是一些小Demo,以用来说明Python的相关知识,大神请跳过!