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 sdfasdfsa 57 sdfasdfsa 58 sdfsadfas 59 """ 60 61 ''' 62 fsdfsd 63 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)