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个为一组,遇到	就把后面的以空格补齐	也算一个空格
 43 # test = "12345678werwerwer	9werwe	rwer	er"
 44 # v = test.expandtabs(6)
 45 # #print(v,len(v))
 46 # print(v)
 47 #列:
 48 # test = "username	email	password
zhouyunchuan	zhou@qq.com	123
zhouyunchuan	zhou@qq.com	123
zhouyunchuan	zhou@qq.com	123"
 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 #是否存在不可见的字符如  制表	  换行

117 # test = "oldboy
zhou"
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右边 和 两边的空格,还可以去除	和
,也可以去掉指定字符
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
weatq
awrtq"
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右边 和 两边的空格,还可以去除	和
,
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 

    

  

函数递归 

  

原文地址:https://www.cnblogs.com/cqzhou/p/9519285.html