python 基础
python安装
python安装在OS上 python软件------》python 解释器 (内存管理)
下载 www.python.org
windows : 点下一步 添加环境变量 添加到path C:\Python37
linux
基础
1.第一句 print ('hello world')
后缀名可以是任意的 导入模块时,后缀必须时候 .py 以后也 规定是 .py
2.两种执行方式
python 解释器 py文件路径
python 进入解释器 实时执行
3.解释器路径 # ! /usr/bin/env python
.编码 # -*- coding:utf8 -*- 在python3中 无需关注编码
5.执行一个操作
input 的用法,永远等待,知道用户输入了值 就会健输入的值赋予给另一个
n1 = input ('请输入用户名:')
print (n1) 这里n1 就是变量
n1 = "alex"
print(n1) n1 就代指alex 代指某一个变化的值,
6.变量只能有字母、数字、下划线组成。不能用数字开头,python关键字不能用
最后不和python内置的东西重复 ***
7.条件语句
if else 可以嵌套执行
注意: n1 = "alex" 赋值
n1 == 'alex' 比较,
n1 = input(">>>") if n1 == "alex": n2 = input(">>>") if n2 == "确认": print("alex SB") else: print("alex DB") else: print("error")
pass 代指空代码,无意义 代表过,仅仅用于表示代码块
if elif 并行判断
8.基本数据类型
字符串 n1 = "alex" n2 = 'troot' n3 = """oldboy"""
数字 age=21 weight = 64 fight = 5
9.循环
#while循环,直到条件不满足时显示123 count = 0 while count < 10: print(count) count = count + 1 print(123)
补充:
a. while else
b. continue break
continue ,终止当前循环,开始下一次循环
break ,终止所有循环
python开发IDE
python的集成开发环境:pycharm、eclipse 下载专业版、不要汉化
1.运算符
判断某个东西是否在里边
逻辑运算符: and or not
成员运算符:in not in
数字 字符串 布尔值: 真 true 假 false
本质上 in 和 not in 获得的值就是布尔值,True放在 if 和 while后面条件都是成立的
比较运算符:== > < >= <= 不等于 != < > 赋值情况下 结果也是布尔值
补充:user == 'alex' and (pwd == '123' or 1 == 1) 限制性括号里的,1 == 1括号里的永远都是true
没有括号执行的顺序从前到后,
结果是True遇到or 结果就是True False遇到and 结果就是False
True遇到and 继续往后走 False遇到or 继续走
算术运算符:+ - * / 取余% 取商 //
赋值运算符:
= 等于 c = a + b c += b
+= 等于 c = c + 1
类推 -= *= /= %= **== //==
分类:1、算术、赋值 /2、比较、逻辑、成员
2.基本数据类型
n = 123
v = n.bit_length()
print(v)
输出7 每种数据类型都有自己的 独有功能,进行赋值的改造
数字 int 所有的功能都放在int里
int 将字符串转换为数字
a = "123"
b = int(a) 结果b = 123
num = "0011"
v = int(num, base=16)
print(v) 以16进制转换
bit_lenght
age = 3
r = age.bit_lenght()
print(r) 当前数字的二进制,至少用多少位来表示
字符串 str
1 #**********字符串 功能************
2
3 #test = "alexalex"
4 #capitalize() 首字母大写
5 # v = test.capitalize()
6 # print(v)
7
8 #所有变小写,casefold()更厉害,很多未知的对应 变小写也能执行
9 # v1 = test.casefold()
10 # print(v1)
11 # v2 = test.lower()
12 # print(v2)
13
14 #center() 设置宽度并将内容居中,20后面不写默认为空格
15 #**********20**********
16 # v = test.center(20,"*")
17 # print(v)
18
19 # test = "alex"
20 # v = test.ljust(20,"*") #填充字符居右
21 # print(v)
22
23 # test = "alex"
24 # v = test.rjust(20,"*") #填充字符居左
25 # print(v)
26
27 # count() 在字符串中找 子序列出现的次数
28 # 从第2个字符到第6个中间找 也可不填写数字
29 # v = test.count('ex',2,6)
30 # print(v)
31
32 #encode
33 #decode
34
35 # endswith('x') 以什么结尾 startswith()以什么开头
36 # test = "alex"
37 # v = test.endswith('ex')
38 # v1 = test.startswith('1')
39 # print(v)
40 # print(v1)
41
42 # 每n个为一组,遇到\t就把后面的以空格补齐\t也算一个空格
43 # test = "12345678werwerwer\t9werwe\trwer\ter"
44 # v = test.expandtabs(6)
45 # #print(v,len(v))
46 # print(v)
47 #列:
48 # test = "username\temail\tpassword\nzhouyunchuan\tzhou@qq.com\t123\nzhouyunchuan\tzhou@qq.com\t123\nzhouyunchuan\tzhou@qq.com\t123"
49 # v = test.expandtabs(20)
50 # print(v)
51
52 #从开始往后找 获取其位置 往后就不找了,位置从0开始起。
53 # 寻找范围 5<= 范围 <8
54 #index 找不到就报错,一般不使用
55 # test = "alexalex"
56 # v = test.find('ex',5,8)
57 # print(v)
58
59 # format()格式化,将一个字符串中的占位符替换为指定的值
60 # test = 'i am {name}, age {a}'
61 # print(test)
62 # v = test.format(name='alex',a=19)
63 # print(v)
64
65 # 不需要名字也能替换,0 1 2 3 。。。。
66 # test = 'i am {0}, age {1}'
67 # print(test)
68 # v = test.format('alex',19)
69 # print(v)
70
71 #format_map格式化,传入值格式{"name":'alex',"a":19}
72 # test = 'i am {name}, age {a}'
73 # v1 = test.format(name='alex',a=10)
74 # v2 = test.format_map({"name":'alex',"a":19})
75 # print(v1)
76 # print(v2)
77
78 #判断字符串是否只包含字母和数字,是True 不是False
79 # test = "usaf890_+"
80 # v = test.isalnum()
81 # print(v)
82
83 #isalpha() 判断字符串是否只包含字母,是True 否False
84 # test = "user123"
85 # v = test.isalpha()
86 # print(v)
87
88 #isascii() 判断字符串是否只包含ASCII码,是True否False
89 # test = "user123zhou"
90 # v = test.isascii()
91 # print(v)
92
93
94 #判断字符串是否是数字,isdecimal<isdigit<isnumeric可以判断特殊数字 是True否False
95 # test = "00202②三"
96 # v1 = test.isdecimal() #123
97 # v2 = test.isdigit() #1②3
98 # v3 = test.isnumeric() #1②三
99 # print(v1,v2,v3)
100
101 #isidentifier()如果字符串是有效的Python标识符,则返回true,否则为false。
102 #字母,数字,下划线 不以数字开头的就是标识符
103 # test = "__1321bbb"
104 # v = test.isidentifier()
105 # print(v)
106
107 #islower()如果字符串为大小写字符串,则返回true,否则为false。
108 # test = "wFFFFDDDDerwFer"
109 # v = test.islower()
110 # v1 = test.lower() # lower 转换为小写
111 # v3 = test.upper() # upper 转换为大写
112 # v2 = v1.islower() #判断小写
113 # v4 = v3.isupper() #判断大写
114 # print(v,v1,v2,v3,v4)
115
116 #是否存在不可见的字符如 制表\t 换行\n
117 # test = "oldboy\nzhou"
118 # v = test.isprintable()
119 # print(v)
120
121 #判断是否全是空格
122 # test = " "
123 # v = test.isspace()
124 # print(v)
125
126 #判断每个单词头字母是否是大写
127 # test = "Zhouyunchuan hello wrold"
128 # v1 = test.istitle()
129 # print(v1)
130 # v2 = test.title() #每个单词的首字母变为大写
131 # print(v2)
132 # v3 = v2.istitle()
133 # print(v3)
134
135
136 #****重要****
137 #将字符串中的每一个元素按照指定分隔符进行拼接,
138 # test = "你是风儿我是沙"
139 # print(test)
140 # # t = ' '
141 # v = "-".join(test)
142 # print(v)
143
144 #处理掉 l左边 r右边 和 两边的空格,还可以去除\t和\n,也可以去掉指定字符
145 # test = " alex "
146 # v = test.lstrip()
147 # v1 = test.rstrip()
148 # v2 = test.strip()
149 # print(v)
150 # print(v1)
151 # print(v2)
152
153 # 对应关系进行替换
154 # v = "asdfzvbouiunt mgajkh"
155 # m = str.maketrans("asugj","12345")#对应替换
156 # new_v = v.translate(m)
157 # print(new_v)
158
159 #test = "testzhousiyusan"
160 # v = test.partition('s')#指定字符从左分割一次 分为三份 结果包含指定符
161 # v = test.rpartition('s')#指定字符从右分割一次 分为三份 结果包含指定符
162 # v = test.split('s',2) #根据指定符进行分割,分割后结果不包含指定符,
163 # # 后面参数指定分割几次默认全部分割
164 # v1 = test.rsplit('s')
165 # print(v)
166 # print(v1)
167
168 #分割,只能根据 true false 分割是否保留换行符
169 # test = "qwoeituq\nweatq\nawrtq"
170 # v = test.splitlines(False)
171 # print(v)
172
173 #判断以什么开头和以什么结尾
174 # test = "backend 1.1.1.1" # 什么开头
175 # v = test.startswith('b')
176 # print(v)
177
178 # test = "zhouyunchuan" #什么结尾
179 # v = test.endswith('n')
180 # print(v)
181
182 # 大写换小写 小写换大写
183 # test = "Zhou Yun Chuan"
184 # v = test.swapcase()
185 # print(v)
186
187 #替换字符 后面的参数指定替换前几个字符
188 # test = "alexalexalex"
189 # v = test.replace("a","222",2)
190 # print(v)
191
192 ############7个基本功能############
193 # join #将字符串中的每一个元素按照指定分隔符进行拼接
194 # split #根据指定符进行分割,分割后结果不包含指定字符
195 #后面参数指定分割几次默认全部分割
196 # find #查找字符 没找到返回值 -1
197 # strip #处理掉 l左边 r右边 和 两边的空格,还可以去除\t和\n,
198 #也可以去掉指定字符
199 # upper #转换为大写 isupper 判断
200 # lower #转换为小写 islower 判断
201 #replace#替换字符 后面的参数指定替换前几个字符
202 ######################特殊功能######################
203
204 # test = "alex" #从0开始索引 获取每一个字符
205 # v = test[2]
206 # print(v)
207 #利用索引和while循环 for循环将字符一个一个的输出
208 # test = "中华人民共和国"
209 # index = 0
210 # while index < len(test):
211 # v = test[index]
212 # print(v)
213 # index += 1
214 # print("==========")
215
216 # test = "中华人民共和国"
217 # for n in test:
218 # print(n)
219
220 #切片 获取范围 0<=范围<2, -1直接到最后一个位置
221 # test = "alex"
222 # v = test[0:2]
223 # print(v)
224
225 #python3: 获取当前字符串中有几个字符
226 # python2中如果是中文则一个字符获取值为3
227 # test = "zhou"
228 # v = len(test)
229 # print(v)
230
231 #注意:
232 # len("alex")
233 # for循环
234 # 索引
235 # 切片
236
237 #range 帮助创建连续的数字,也可以通过设置步长来指定连续
238 #(0,100) 0<=范围<100 (0,100,5)每5显示一次
239 # v = range(0,100,5)
240 # print(v)
241 # for item in v:
242 # print(item)
243
244 #将文字 对应的索引打印出来
245 # test = input(">>>>")
246 # for item in test:
247 # print(item)
248
249 #答
250 # test = "zhou"
251 # print(test[0])
252
253 # test = input(">>>")
254 # print(test)
255 # l = len(test)
256 # print(l)
257 # r = range(0,l)
258 # for item in r:
259 # print(item,test[item])
260 #或
261 # test = input(">>>")
262 # for item in range(0,len(test)):
263 # print(item,test[item])
264
265
266
267
268 #################基本原理#############################
269 #在内存中字符串修改或做拼接时是会重新生成一个新的字符串
列表 list
li = [1,2,44,"alex","zhou",["zhouyunc"],"alex"]
中括号括起来, 以 逗号分割,列表中的元素可以使 数字 字符串 列表 布尔值。。。
相当于一个集合,内部可以放任何东西,列表可以被修改。
元祖 tuple
字典 dict
布尔值 bool
函数递归