计算机基础
硬件
操作系统
解释器/编译器
补充:编译型语言和解释型语言
#编译型:代码写完后,编译器将其全部转变成另一个文件,再交给计算机执行。
#解释型:代码写完后,解释器从上到下逐行转变交给计算机执行,一边解释一边执行。(实时翻译)
软件(应用程序)
环境的安装
语法
解释器路径:hellow.py
#!/usr/bin/env python
print('你好')
Linux系统应用:
编码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
print('你好')
输入输出
数据类型
int
bool
str
独有功能
.upper() / .lower()
.isgidit()
.strip() / .lstrip() / .rstrip()
.replace( , , )
.split( , ) / rsplit( , )
补充
.startswith( ) / .endswith( )
name = 'alex'
#判段是否以al开头
flag = name.startswith('al')
print(flag) 结果True
#判断是否以ex结尾
flag2 = name.endswith('ex')
print(flag2) 结果True
.format( , ,...)
msg = '我的姓名是{0},我的年纪是{1}岁。'.format('老男孩','18')
print(msg)
.encode(‘编码‘)
neme = '李杰'
#解释器读取到内存后,按照unicode编码存储,占了8个字节。
v1 = neme.encode('utf-8')
print(v1)
v2 = name.encode('gbk')
print(v2)
.join()
name = 'alex'
s = '_'.join(name)
print(s)
结果:
a_l_e_x
公共功能
索引:获取单个元素
切片:获取多个元素(子序列)
步长
name = 'abcdabcd'
v = name[-1:]
print(v)
结果:d
#步长默认是1,且默认往后找。
name = 'abcdabcd'
v = name[-1:0]
print(v)
结果:空
#面试题将字符串反转
name = 'alex'
v = name[-1::-1]
print(v)
长度
for循环
name = 'alex'
for item in name:
print(item)
name = 'alex'
for item in name:
print(item)
break
print('123')
name = 'alex'
for item in name:
print(item)
continue
print('123')
#习题:循环打印 1 ~ 10
for i in range(1,11):
print(i)
注意:for和while的应用场景。有穷尽先用for,无穷尽用while。
变量
注释
条件语句
循环语句
运算符
字符串格式化
其它
总结
如果想要表示两个人名,虽然使用字符串可以做到,但是很难索取分别输出。
users = '张三,李四'
以后想要表示多个元素可以使用列表。
users = ['张三','李四','王五',100]
公共功能
长度
users = ['张三','李四','王五',100]
val = len(users)
print(val)
结果:3
索引
users = ['张三','李四','王五',100]
val = users[0]
print(val)
结果:张三 #类型str
切片
users = ['张三','李四','王五',100]
val = users[0:2]
print(val)
结果:['张三', '李四']
删除(int/bool/str除外)
users = ['张三','李四','王五',100]
del users[1]
print(users)
注意:
修改(int/bool/str除外)
users = ['张三','李四','王五',100]
users[3] = 66
users[0] = '赵四'
#users[0][1]不可修改
步长
users = ['张三','李四','王五',100]
val = users[0:2:2]
print(val)
结果:['张三'] #类型list
#习题
content = input('请输入:')
n = content.split('+')
print(n)
v1 = int(n[0]) #转换的时候,字符串两边空格会自动去除,中间若有空格会报错。
v2 = int(n[1])
v3 = v1 + v2
print(v3)
for循环
users = ['张三','李四','王五',100]
for i in users:
print(i)
独有功能
追加模式:.append(元素)
#示例:用户名密码录入+效验
users = []
for i in range(0,3):
name = input('请输入用户名和密码:')
users.append(name)
print(users)
username = input('请输入用户名:')
password = input('请输入密码:')
for item in users:
result = item.split(' ')
user = result[0]
pwd = result[1]
if user == username and pwd == password:
print('登陆成功')
break
插入模式:.insert(索引,元素)
lst = ["林俊杰", "周润发", "周芷若"]
print(lst)
lst.insert(1,'李连杰')
print(lst)
特定删除:.renmove(元素)
索引删除:.pop(索引)
列表清空:.clear()
总结:
增:
删:
改:
查:
列表嵌套
lst = ["林俊杰", "周润发", "周芷若",['张三',['李四','王五',88],'李连杰'],100]
lst[0]
lst[3]
lst[3][1] # ['李四','王五',88]
lst[3][1][2] # 88
lst = ['张三','李四','王五',100] # 列表可变类型
tup = ('张三','李四','王五',100) # 元组不可变类型
公共功能
索引(排除:int/bool)
tup = ('张三','李四','王五',100)
print(tup[0])
print(tup[-1])
切片(排除:int/bool)
tup = ('张三','李四','王五',100)
print(tup[0:2])
步长(排除:int/bool)
tup = ('张三','李四','王五',100)
print(tup[0:2:2])
for循环(排除:int/bool)
tup = ('张三','李四','王五',100)
for item in tup:
print(item)
长度(排除:int/bool)
tup = ('张三','李四','王五',100)
print(len(tup))
没有独有功能
特殊:元组中的元素不可被修改和删除
v1 = (11,22,33)
v1[2] = 999 #错误
v1 = 999 #正确
元组可以嵌套
v1 = (11,22,33,(44,55,66),(77,88,(99,111),222))
列表嵌套元组
v1 = [11,22,33,(11,22,33)]
v1[-1][1] = 999 #错误
v1[-1] = 999 #正确
元组嵌套列表
v1 = (11,[1,2,3],22,33)
v1[1] = 999 #错误
v1[1][2] = 999 #正确
解释型语言和编译型语言区别
字符串补充功能
独有
公共
切片
len
特性
git本地和远程要同步,以后之操作本地别操作远程。
列表(可变)
元组(不可变)
原文:https://www.cnblogs.com/elliottwave/p/12521780.html