import this The Zen of Python, by Tim Peters 如何使你的代码看起来更加简洁,请看下面这些话 Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
这里我会补充一些在前面没有介绍到点的小知识点,我会进行补充到这里来
目录
2**3 #2的三次幂
我们先定义一个字符串,然后我们就可以通过方法轻轻松松更改字符串的大小写,尤其是更改一篇英文文章的时候,有了Python,这些就方便多了
name = "hELLlo woRld"
print(name.title())#首字母大写
print(name.upper())#全部大写
print(name.lower())#全小写
给定一个列表
mylist = [11,22,33,44,55,66,77,88,99]
len(mylist) 求长度
min(mylist)
max(mylist)
sum(mylist)
有时候我们想要改变数据,但是又想保留原数据,这个时候就可以 进行复制列表的操作(用切片的方法)
#复制列表
food = ['egg','chicken','bread','fish']
food1 = food[:]
print(food)
print(food1)
为了确保food 和 food1 是分开的两组列表,我们在后面分别加入一个元素
food = ['egg','chicken','bread','fish']
food1 = food[:]
food.append('ice-cream')
food1.append('beef')
print(food)
print(food1)
这说明我们得到的是两个列表
但是如果我们将切片操作改为 food = food1呢?
这只是把food 中的值直接赋值到 food1 中,但本质上food1 和 food 是没有任何差别的
总所周知,"print" 是一个我们用的最多的一个输出函数,之前用了这么久的"print" 函数,我们唯独没有讲过如何自定义想要输出的内容,比如,我们想要电脑输出我们输入的内容,举个例子:
x = input('你输入的东西')
print(x)
如果我们想要电脑输出一些特定内容呢?比方说C语言中的占位符一样 %d,%s 等等,Python 也有,而且还可以表达的更加简单,看这个例子
print('{} {} {}'.format(1,"蛤","bee"))
‘{ }’ 我们可以在 ‘ format() ’中填入我们任何想要填入的数据,这样我们的输出就变得更加灵活了,不是吗?
还有一种格式化输出的方式:
print("你输入的东西:%s"%(%s))
Python内建函数
import sys
print("sys.platform") #打印操作系统的版本,win32 代表64位系统
import os,sys
os.system("cls") #清屏,Python得借助操作系统完成清屏的操作,如果是Linux,macOS 要用“clear”
#这个程序在文件中打开
import os
width,height = os.get_terminal_size()#获取终端框框的大小
print("width:",width)
print("height",height)
你可以导入“time” 模块,使用它的“sleep” 函数,你可以使你的程序暂停0.5 甚至0,.2秒都是可以的,
具体的看这个实例
import time
for i in range(1,4):
print(i)
time.sleep(2)
#sleep内的参数是秒为单位的,这个程序是每隔两秒输出一个数据
这里我们介绍 "time" 模块中的 "strftime"(字符串格式时间)
下面就生成 "小时 : 分钟 : 秒"(24小时制)时间格式的代码
import time
time = time.strftime("%H:%M:%S")
print(time)
这个是我用搜狗输入法打印的时间:2019年1月23日15:59:51
PS:注意时间的格式书写就没什么大碍了,还有这个打印的是字符,如果要输出整形,直接用强制转换类型 int(time.strftime())即可
这里还有一些其它关于时间的参数: %H %M %S 分别代表时分秒 %A 代表周几,比如今天周三,它会输出 “Wednesday” %B 代表月份,比如现在是1月份,它会输出 "January" %m(month),现在是1 月份,它会输出数字 1 %Y 代表年 %D 代表年月日 今天是2019/1/23,它会输出 01/23/19 如果你想输出 “%”,你需要输入 “%%” 即可
math库一般在科学计算中用的会比较多,遇到了我再添加
下面就以一个实例看看random的使用
import random
random.seed()#初始化随机数生成器
print("在100个数字中生成1~10 之间的数字")
for i in range(0,100):
print(random.randint(1,10),end = " ")#randint返回1~10 之间的值
print("")
程序运行结果我只截取部分
利用random.randint 可以随机生成特定范围的数值
random.randint(起始数字,终止数字) 的替代品是 random.randrange( 起始数字,终止数字 ,中间要跳过的数字 ),这个是有三个参数的,例如random.randrange(1,20,2),我们发现这里和前面元组的切片操作是不是似曾相识?代码我就不加上去了
这里和数学模块一样,有更合适的例子,我会进行讲解
我们之前使用的库都是一些大牛已经造好的“轮子”,我们直接拿来用就可以了,但是当我们写大型程序的时候,肯定不可能把所有代码都放在同一个程序中把
前面也介绍过,"Python的库" 其实就是一个"Python"文件,我们写程序只用导入我们定义的这个 "Python文件的名字"即可,下面我们就定义一个最简单模块来看看
PS: Python要导入的库,最好放在同一个根目录下即可
我们先创建一个Python文件,命名为my_data.py,然后写上下面内容
def hello():
print("Hello!")
def self_introduction():
print("my name is Gorit")
def printf():
print("https://blog.csdn.net/caidewei121")
def myblog():
print("Here is my blog:")
printf()
PS:这是一个纯函数文件,直接运行不会返回任何值,如果不懂函数调用的以及定义的,请看我的这篇博客
然后再创建一个文件夹,命名为:import_my_data.py,然后我们调用我们写的模块,然后看看运行结果
import my_data
my_data.hello()
my_data.self_introduction()
my_data.myblog()
这是我的博客首页,来关注一波鸭! 欢迎大家来捧场
当我们学会定义模块后,再学新的模块简直易如反掌,比如可以海龟画图的(turtle库),制作GUI界面的(tkinter库)等等,这个和pyqt5 一起使用效果更好