1 #!/usr/bin/python3
2
3 """
4 Python3.6.x简单教程5
6 示例、注释7 交互式和脚本式编程8 变量类型9 数字(Number)10 字符串(String)11 列表(List)12 元组(Tuple)13 字典(Dictionary)14 运算符15 条件语句16 if条件语句17 Python中没有switch case语句18 循环语句19 While循环语句20 For循环语句21 循环嵌套22 Break语句23 Continue语句24 Pass语句25 函数26
27 """
28
29 #常用python包
30 #import string 字符串操作
31 #import math 数学工具
32 #import os 文件和文件夹操作
33 #import datetime 日期时间操作
34 #import random 随机数
35 #import parser 解析文件
36 #其他第三方package
37 #了解Python自带工具包,参看《Python标准库》一书
38
39 #示例程序
40
41 #print("Hello Python3.6")
42 ## 查看python版本号
43 #import sys
44 #print("Python版本号:",sys.version) # dsfsdsfdsd
45
46 #注释dasdfasdfadsfasdfasdfsadfasdfasdfasdfasdfsadfsdfsadfsadfsadfsadfsdfsadfsadfsadf
47 #print("该行代码被注释掉了,所以不会打印出来")
48
49 #多行注释
50 """
51 这是python中的多行注释52 这是另一行被注释的内容53 """
54
55 """
56 sdfasdfsa57 sdfasdfsa58 sdfsadfas59 """
60
61 """
62 fsdfsd63
64 """
65
66 #变量赋值
67 #num = 1
68 #myname = "jack"
69 #a,b,c = 1,2,3
70 #71 #d = 9.05
72 #e = 8
73 #74 #print("myname:",type(myname))
75 #print("b:",type(b))
76 #77 #print(type(d))
78 #print(type(e))
79 #80 #myname,b = b,myname
81 #82 #print("myname:",type(myname))
83 #print("b:",type(b))
84 #85 #86 #print("a,b,c的值分别为:",a,b,c)
87
88
89 #变量数据类型
90
91 #数字类型
92 #number1 = 1 # int型
93 #number2 = 10.2 # float型
94 #number3 = 4654654564645645645 # long型
95 #number4 = 2 + 3j # 复数
96 #97 #print(number1)
98 #print(number2)
99 #print(number3)
100 #print(number4)
101 #102 #print(type(number1))
103 #print(type(number2))
104 #print(type(number3))
105 #print(type(number4))
106
107 #字符串string
108 #import string
109 #myname = "jack"
110 #address = "shenzhen"
111 #print(myname[0])
112 #print(myname[0:4:3])
113 #print(myname[1:])
114 #print(myname * 2)
115 #print("=" * 20)
116 #print("我的名字是" + myname)
117 #print("我的名字是",myname)
118
119 #列表list
120 #列表使用[]表示,其中的元素以逗号,隔开,列表是有序集合
121 #list = ["jack",12,"shenzhen",45,23.34]
122 #tinylist = ["apple","android"]
123 #print(type(list))
124 #print(list)
125 #print(list[0])
126 #print(list[1:3])
127 #print(list * 2)
128 #print(list + tinylist)
129 #list[0]="tom"
130 #print(list)
131
132
133 #元组tuple
134 #元组使用()表示,其中的元素也是以逗号,隔开,不过元组不能二次赋值,相当于只读列表,元组是有序集合
135 #tuple = ("jack",12,"shenzhen",45,23.34)
136 #tinytuple = ("apple","android")
137 #print(type(tuple))
138 #print(tuple)
139 #print(tuple[0])
140 #print(tuple + tinytuple)
141 #元组值不允许修改,下面代码会报错
142 #tuple[0] = "tom"
143
144 #字典dict
145 #字典使用{}表示,字典有索引key和对应的值value组成,字典值是通过索引来存取的,而非通过偏移来存取
146 #dict = {}
147 #dict["name"] = "jack"
148 #dict["age"] = 12
149 #dict["address"] = "shenzhen"
150 #dict["hobby"] = "coding"
151 #dict[2] = "demoitem"
152 #print(type(dict))
153 #print(dict["name"])
154 #print(dict.keys())
155 #print(dict.values())
156 #print(dict)
157
158
159 #类型转换
160 #x = "a"
161 #print(int(x))
162 #float(x)
163 #str(x)
164 #tuple(x)
165 #list(x)
166 #dict(d)
167
168
169 #运算符
170 #算术运算符
171 #比较运算符
172 #赋值运算符
173 #逻辑运算符
174 #位运算符
175 #成员运算符
176 #身份运算符
177
178
179 #算术运算符
180 #+ - * / % ** //
181 #a = 5
182 #b = 3
183 #print(a + b)
184 #print(a - b)
185 #print(a * b)
186 #print(a / b)
187 #print(a % b)
188 #print(a ** b)
189 #print(a // b) # 返回商的整数部分
190
191 #比较运算符
192 #== # 等于
193 #!= # 不等于
194 #> # 大于
195 #< # 小于
196 #>= # 大于等于
197 #<= # 小于等于
198 #a = 5
199 #b = 3
200 #print(a == b)
201 #print(a != b)
202 #print(a > b)
203 #print(a < b)
204 #print(a >= b)
205 #print(a <= b) # 返回商的整数部分
206
207
208
209 #赋值运算符
210 #= 赋值
211 #+= 加法赋值
212 #-= 减法赋值
213 #*= 乘法赋值
214 #/= 除法赋值
215 #%= 取模赋值
216 #**= 幂赋值
217 #//= 取整除赋值
218 #a = 10
219 #b = 20
220 #c = a + b
221 #c += a
222 #c = c + a
223 #c -= a
224 #c = c - a
225 #c *= a
226 #c = c * a
227 #c /= a
228 #c = c / a
229 #c %= a
230 #c = c % a
231 #c **= a
232 #c = c ** a
233 #c //= a
234 #c = c // a
235
236
237 #逻辑运算符
238 #and
239 #or
240 #not
241
242 #a = 10
243 #b = 20
244 #if (a and b):
245 #print("变量a和b都是true")
246 #else:
247 #print("变量a和b至少有一个不为true")
248 #249 #if (a or b):
250 #print("变量a和b至少有一个是true")
251 #else:
252 #print("变量a和b都不为true")
253 #254 #if (not a):
255 #print("变量a为false")
256 #else:
257 #print("变量a为true")
258
259 #位运算符
260 #& 按位与
261 #| 按位或
262 #^ 按位异或
263 #~ 按位非
264 #<< 左移
265 #>> 右移
266 #a = 2 # 000 00100
267 #b = 4 # 0000 0100
268 #print("a的二进制值:" + bin(a))
269 #print("b的二进制值:" + bin(b))
270 #print("a和b按位与的二进制值:" + bin(a & b))
271 #print("a和b按位或的二进制值:" + bin(a | b))
272 #print("a和b按位异或的二进制值:" + bin(a ^ b))
273 #print("a按位非的二进制值:" + bin(~a))
274 #print("a左移1位的二进制值:" + bin(a << 1))
275 #print("a右移1位的二进制值:" + bin(a >> 1))
276
277 #成员运算符
278 #成员运算符用来判断某个变量值是否存在于给定的集合中
279 #in 存在
280 #not in 不存在
281 #a = 10
282 #b = 2
283 #list = [1,2,3,4,5]
284 #285 #if (not (a in list)):
286 #print("a的值存在于list中")
287 #else:
288 #print("a的值不存在于list中")
289 #290 #if (b in list):
291 #print("b的值存在于list中")
292 #else:
293 #print("b的值不存在于list中")
294 #295 #if (a not in list):
296 #print("a的值不存在于list中")
297 #else:
298 #print("a的值存在于list中")
299
300
301
302 #身份运算符
303 #用于比较两个对象的存储单元
304 #is 判断两个标识符是不是引用自一个对象,如果引用自同一个对象(同一个内存单元),则返回true,否则返回false
305 #is not 判断两个标识符是不是引用自不同对象,如果引用自同一个对象(同一个内存单元),则返回false,否则返回true
306
307
308 #a = 20
309 #b = 30
310 #if (a is b):
311 #print("a和b指向同一个内存单元")
312 #else:
313 #print("a和b指向不同内存单元")
314 #315 #print(id(a))
316 #print(id(b))
317
318 #if (a is not b):
319 #print("a和b指向不同内存单元")
320 #else:
321 #print("a和b指向同一个内存单元")
322 #323 #print(id(a))
324 #print(id(b))
325 #326 ## 修改变量b的值
327 #b = "tom"
328 #if (a is b):
329 #print("a和b指向同一个内存单元")
330 #else:
331 #print("a和b指向不同内存单元")
332 #333 #print(id(a))
334 #print(id(b))
335 #336 #b = 79
337 #print(id(b))
338 #339 #if (a is not b):
340 #print("a和b指向不同内存单元")
341 #else:
342 #print("a和b指向同一个内存单元")
343
344
345 #is 和 == 区别
346 #is 用于判断两个变量引用的对象是否是同一个,==用于判断引用的变量的值是否相等
347
348
349 #条件语句
350
351 #Python中指定任何非0非空(null)的值为true,0或者null为false
352 #if 判断条件:
353 #执行符合该条件下的语句
354 #else:
355 #执行其他语句
356
357 #a = 10
358 #if (a > 20):
359 #print("a大于20")
360 #else:
361 #print("a不大于20")
362
363 #364 #gender = "F"
365 #if (gender == "F"):
366 #print("此人为女生")
367 #else:
368 #print("此人为男生")
369
370
371 #if 判断条件1:
372 #执行符合条件1下的语句
373 #elif 判断条件2:
374 #执行符合条件2下的语句
375 #elif 判断条件3:
376 #执行符合条件3下的语句
377 #else:
378 #如果上述条件都不符合,则执行该语句
379
380 #score = 89
381 #if (score == 100):
382 #print("成绩满分")
383 #elif (score >= 90):
384 #print("成绩在90和100分之间")
385 #elif (score >= 60):
386 #print("成绩在60和90分之间")
387 #elif (score >= 0):
388 #print("成绩在0和60分之间")
389 #else:
390 #print("成绩分数不正常")
391
392
393
394 # 循环语句
395 # While循环语句
396 #a = 5
397 #while(a > 0):
398 #print("当前轮次a的值为:",a)
399 #a -= 1
400
401 #import time
402 ## 无限循环,即死循环
403 #while(True):
404 #print("死循环...")
405 #time.sleep(2)
406
407 #while循环使用else语句
408 #a = 5
409 #while (a > 0):
410 #print("当前轮次a的值为:", a)
411 #a -= 1
412 #else:
413 #print("a的值已经不再大于0:",a)
414
415
416 # For循环语句
417 #for循环可以遍历任何序列的元素,如一个列表或者一个字符串。
418 #for letter in "Python":
419 #print("当前字符为:",letter)
420 #421 #fruits = ["apple","banana","mango"]
422 #for current_fruit in reversed(fruits):
423 #print("当前水果为: ",current_fruit)
424
425 #for num in range(10):
426 #print("当前数字: ",num)
427 #428 ## for循环使用else语句
429 #for num in range(10):
430 #print("当前数字: ", num)
431 #else:
432 #print("数字已经打印完毕")
433
434
435
436 # 循环嵌套
437 #for嵌套循环
438 #a = [1,2,3,4,5]
439 #b = [1,1,1,1,1]
440 #for a_item in a:
441 #sum = 0
442 #for b_item in b:
443 #sum += b_item
444 #else:
445 #sum += a_item
446 #print("列表b中所有元素与a中当前元素的总和为:",sum)
447 #else:
448 #print("结束")
449
450
451 #while嵌套循环
452 #a = 5
453 #while (a > 0):
454 #print("&" * a)
455 #b = 3
456 #while(b > 0):
457 #print("*" * b)
458 #b -= 1
459 #a -= 1
460
461
462
463
464 # Break语句和Continue语句
465 #break:用于终止整个循环
466 #continue:用于跳过当前循环轮次,开始下一轮循环
467
468 #print("break语句示例")
469 #for letter in "Python":
470 #if letter == "h":
471 #continue
472 #print("当前字母为:",letter)
473
474 #475 #print("continue语句示例")
476 #for letter in "Python":
477 #if letter == "h":
478 #continue
479 #print("当前字母为:", letter)
480
481
482
483 # Pass语句
484 #Python中的pass语句为空语句,即不执行任何内容,表示直接跳过的意思。
485 #for letter in "Python":
486 #if letter == "h":
487 #pass
488 #print("这是pass块")
489 #print("当前字母为:",letter)
490 #print("循环结束,bye")
491
492
493
494
495
496 # 函数
497 #函数是为了重复使用的代码块,Python中提供了很多内建函数,不过我们也可以定义自己的函数,称为自定义函数。
498 #定义函数
499 #def add(a,*b):
500 #"定义一个加法函数,返回两个数的和"
501 #print("a的值为:",a)
502 #sum = 0
503 #sum += a
504 ##print("b的值为:",b)
505 #for var in b:
506 #sum += var
507 #return sum
508 ##
509 ##
510 ## # 调用函数
511 #print(add(1,8,3,2,4,5,6))
512
513 #参数类型
514
515 #必备参数:必备参数必须以正确的顺序传入函数,调用时的数量必须和定义时的一样
516 #关键字参数:使用关键字参数允许函数调用时参数的顺序与定义时不一致,因为此时Python解释器能够用参数名称匹配参数值
517 #默认参数:调用函数时,如果没有传入默认参数的值,那么就会利用定义时的默认值
518 #不定长参数:你可能需要一个函数能处理比当初定义时更多的参数,这些参数称为不定长参数,这种参数声明时不会命名
519
520 #必备参数
521 #print(add(1,2))
522
523 #关键字参数
524 #print(add(b = 3,a = 8))
525 #526 ## 默认参数,也称缺省参数,默认参数必须在参数列表的最后一个
527 #def printinfo(name,age = 12):
528 #print("name:",name)
529 #print("age:",age)
530 ##
531 #printinfo("jack",34)
532 #printinfo("tom")
533
534
535 #不定长参数,加了*号的变量名会存放所有未命名的变量参数
536 #def func_name([formal_args,] *var_args_tuple):
537 #statements
538
539 #def printinfo(name,*vartuple):
540 #print("输出:")
541 #print("name:",name)
542 #print("打印不定长参数:")
543 #for var in vartuple:
544 #print(var)
545 #print("参数打印结束")
546 #547 ##
548 #printinfo("jack")
549 #printinfo("tom",14,"john","shenzhen",5.03)
550 #printinfo("tom",14,"john")
551
552
553 #变量作用域:全局变量 局部变量
554 #定义在函数内部的变量拥有局部作用域,定义在函数外部的变量拥有全局作用域
555 #局部变量只能在其被定义的函数内部访问,而全局变量则可以在整个程序范围内访问。
556
557 #total = 9 # 全局变量
558 #def sum (arg1,arg2):
559 #global total
560 #print(total)
561 #total = arg1 + arg2 # 局部变量total
562 ##print("函数内是局部变量:",total)
563 #return total
564 #565 #print(sum(1,2))
566 #print(total)