拖延到现在才进行python的学习,些许愧疚,望有所成。简单配置了环境后,开始学习。编译环境最开始是用的Visual Studio Code,但后续发现pycharm界面更符合我的“审美”,于是转用pycharm。(小小推荐一下,社区版是免费的,下载安装均十分方便。)
养成一个良好的习惯,是增加代码可读性的关键。没有可读性的代码就类似遵守了所有法律却没有道德的人,可以但不招人喜欢。(希望诸位可以私信或评论,提出宝贵意见,相互进步。)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
这两句虽然是在注释里却有自己的用处,最好项目里都加上,且可以再加上其余的注释,例如作者、编写时间、实现功能等等。
下方有比较全面的pip命令介绍与使用。
https://blog.csdn.net/linZinan_/article/details/115364034?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168147620816800180688203%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168147620816800180688203&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-115364034-null-null.142v83insert_down38,239v2insert_chatgpt&utm_term=PIP%E6%8C%87%E4%BB%A4&spm=1018.2226.3001.4187
有时候很多库,国外是比较全面的。此时我们可以使用国内的镜像去下载。可是如果次次都需要添加镜像链接是不是比较麻烦呢?下面是一位博主提供的解决办法,避免了每次都需要输入链接。
https://www.cnblogs.com/songzhixue/p/11296720.html
①变量名区分大小写
②变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线(_),而不能使用空格、连字符、标点符号、引号或其他字符
③变量名的第一个字符不能是数字,而必须是字母或下划线不能将Python关键字用作变量名
④变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义
⑤驼峰命名法
-小驼峰命名法: firstName、lastName
-大驼峰命名法:FirstName、LastName
数字
字符与字符串
列表LIST
字典 Dictionary
元祖Tuple
# region 第一个Python程序
----代码---
# endregion
例如:
# region 第一次尝试
print('Hello, World!')
print('100 + 200 + 300 = ', 100+200+300)
# endregion
这个办法其实可以很巧妙的去使用,让我们的代码编程一种“笔记”,可以概括看脉络,也可以看细节。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:'[email protected]'
import math
# region 第一次尝试
print('Hello, World!')
print('1+2+3=',1+2+3)
# endregion
# region 变量命名规则
# 区分大小写
A = 2
a = 3
# 变量名必须是字母、数字、或者下划线(_),而不能使用空格、连字符、标点符号、引号或其他字符
# 变量名的第一个字符不能是数字,而必须是字母或下划线
#变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义
# endregion
# region 数据类型
# 整型
print("整型数据:")
A = 3
print(A)
#虽然不再需要定义变量类型,但需要记住其类型,因为不一样的类型操作是不一样的
#可以在执行空间,即pycharm的右下角去看
# 浮点数
print("浮点型数据:")
B = 1.111
print(B)
# 字符串
print("字符串型数据:")
print('I\'m \"OK\"!')
print('I\'m learning \nPython.')
print('\\\n\\''')
print(r'\\\t\\')
#注意在python里\的用处,哪些可以‘可以被打印,哪些则不可以
# 布尔型
print("布尔型数据:")
print(True)
print(False)
print(1 > 2)
print(2 >= 1)
#注意后面2者也是打印的是布尔类型
# 逻辑与运算----and
print("逻辑与运算:")
print("True & True is: ", True and True)
print("True & False is: ", True and False)
print("False & False is: ", False and False)
print("5 > 3 & 3 > 1 is: ", 5 > 3 and 3 > 1)
# 逻辑或运算----or
print("逻辑或运算:")
print("True | True is: ", True or True)
print("True | False is: ", True or False)
print("False | False is: ", False or False)
print("5 > 3 | 3 > 1 is: ", 5 > 3 or 3 > 1)
# 逻辑非运算---not
print("逻辑非运算:")
print("Not True is: ", not True)
print("Not False is: ", not False)
print("not 1 > 2 is: ", not 1 > 2)
# endregion
# region 格式化输出
print("格式化输出:")
print('Hello, %s' % 'world')
print('Hello, %s' % 'Nanjing')
print("Hi, %s, you have $%d." % ("Michael", 1000))
# 常见的占位符:
# %d 整数
# %f 浮点数
# %s 字符串
# %x 十六进制整数
print("%2d-%02d" % (3, 1)) # 整数补零
PI = 3.1415926
print("%.2f" % PI) # 小数点后保留位数
print("Growth rate: %d %%" % 7) # 转义字符
#注意%%的用法
str = "Hello, {0}, 成绩上升了 {1:.2f}%".format("小明", 2.2321)
print(str)
# endregion
# region 列表(List)
print("列表(List):")
# 定义列表
classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)
# 获取列表中元素个数
print(len(classmates))
# 用索引访问列表中元素,索引从0开始
print(classmates[0])
print(classmates[1])
print(classmates[2])
# print(classmates[3]) # list index out of range
print(classmates[-1]) # 获取最后一个元素
print(classmates[-2])
print(classmates[-3])
# 添加/替换/删除元素
classmates.append('Adam') # 追加元素到末尾
print(classmates)
#若不想追加到末尾,则可以选择插入命令
classmates.insert(1, 'Jack') # 插入元素到指定位置
print(classmates)
classmates.pop() # 删除末尾的元素
print(classmates)
classmates.pop(1) # 删除指定位置的元素
print(classmates)
classmates[1] = 'Sarah' # 将某个元素换成别的元素
print(classmates)
#这里的是中括号了
# list里的元素数据类型可以不同
L = ['Apple', 123, True]
print(L)
# list元素也可以是另一个list
s = ['Python', 'Java', ['asp', 'php'], 'scheme']
print(len(s))
print(s)
print(s[2])
print(s[2][1])
# endregion
# region 元组(Tuple)
print("元组:")
# tuple与list类似,但tuple一旦初始化就不能修改
# 因此,在定义tuple时,tuple的元素就必须被确定下来
classmates = ('Michael', 'Bob', 'Tracy')
# classmates.append('Jack')
# classmates[1] = 'Jack'
print(classmates)
# 定义只有一个元素的tuple
t = (20, )
#区分t=20,看执行空间,会标注类型
print(t)
# "可变的"tuple
t = ('a', 'b', ['A', 'B'])
print(t)
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
# endregion
# region 字典(dict)和set
print("字典(dict):")
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d)
print(d['Michael']) # dict末尾添加新的键值对
d['Adam'] = 67
print(d)
print('Thomas' in d) # 判断key是否存在
print(d.get('Thomas', -1))
d.pop('Bob') # 删除指定的key
print(d)
print("set:")
s = set([1, 2, 3])
print(s)
s = set([1, 1, 2, 2, 3, 3]) # 自动过滤重复的元素
print(s)
s.add(4) # 添加元素到set
print(s)
s.remove(4) # 删除元素
print(s)
s1 = set([1, 2, 3]) # 两个集合的交集与并集
s2 = set([2, 3, 4])
print(s1 & s2)
print(s1 | s2)
# endregionf
# region 切片
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
# 取L的前3个元素
print([L[0], L[1], L[2]])
print(L[0:3]) # 从索引0开始,直到索引为3,但不包括3
print(L[:3]) # 若第一个索引是0,可以省略
# 取L的倒数若干个元素
print(L[-2:-1])
print(L[-2:])
L = list(range(100))
print(L)
print(L[:10]) # 前10个数
print(L[-10:]) # 后10个数
print(L[10:20]) # 前11-20个数
print(L[:10:2]) # 前10个数,每两个取一个
print(L[::5]) # 所有数,每5个取一个
# endregion
参考郁磊老师教学视频。感谢郁老师详细教导。