Python:基础入门

2023-01-31 02:01:27 python 基础 入门
  1. #python 逻辑运算: and,or,not 
  2. #Python中没有&&,||,!等短路逻辑运算符而是用and,or,not分别替代 
  3. print("================================ 逻辑运算符 ================================") 
  4. a = 1; 
  5. b = 2; 
  6. print("a=",a) 
  7. print("b=",b) 
  8. print("a and b:",a and b) 
  9. print("b and a:",b and a) 
  10. print("a or b:",a or b) 
  11. print("b or a:",b or a) 
  12. print("True and Fasle:",True and False) 
  13. print("False or True:",False or True) 
  14. print("True and 0:",True and 0) 
  15. print("0 and True:", 0 and True) 
  16. print("False and 1:",False and 1) 
  17. print("1 and False:", 1 and False) 
  18. #Python中0可以表示False,非0可以表示True 
  19. print("0 == False:",0 == False) 
  20. print("4 == True:",5 == True) 
  21. print("a == False",a == False) 
  22.  
  23. print("not 0",not 0) 
  24. print("not 4",not 4) 
  25. print("not a",not a) 
  26.  
  27. print("not a and b:",not (a and b)) 
  28. print("not a or b:",not (a or b)) 
  29.  
  30.  
  31. #Python中 is 和 is not 用来检测两个对象的引用是否相同,== 用来判断值是否相同 
  32. print("a is True",a is True) 
  33. print("a == True",a == True) 
  34.  
  35.  
  36. #Python 流程控制:if elif else,while else 
  37. print("================================ 流程控制语句 ================================") 
  38. #Python if语句 
  39. c = 2 
  40. if c == 0: 
  41.     print("True") 
  42. elif c == 2: 
  43.     print("False") 
  44. else: 
  45.     print("......") 
  46.      
  47.  
  48.  
  49. #Python while语句 
  50. d = 0 
  51. while True: 
  52.     d += 1 
  53.     print("d:",d) 
  54.     if d == 10: 
  55.         break 
  56.      
  57.  
  58.  
  59. #Python for语句 
  60. e = ["a","b","c","d"] 
  61. for i in e: 
  62.     print(i) 
  63.  
  64.      
  65.      
  66. #Python 异常捕获 
  67. print("================================ 异常捕获语句 ================================") 
  68. f = 1.5 
  69. try: 
  70.     i = int(f) 
  71.     print("valid integer:",i) 
  72. except ValueError as err: 
  73.     print(err) 
  74.  
  75.  
  76. #Python 算术操作符 
  77. print("================================ 算术操作符 ================================") 
  78. g = 6; 
  79. h = 4; 
  80. #Python不支持自增和自减运算符 
  81. print("g=",g) 
  82. print("h=",h) 
  83. print("g+h=",g+h) 
  84. print("g-h=",g-h) 
  85. print("g*h=",g*h) 
  86. print("g/h=",g/h) 
  87. #取整 
  88. print("g//h=",g//h) 
  89. #取余 
  90. print("g%h=",g%h) 
  91. #g的h次幂 
  92. print("g**h=",g**h) 
  93. g += h 
  94. print("g += h",g) 
  95.  
  96. lists = ["a","b","c"] 
  97. #列表使用+=运算符时,+=右边必须是一个iterable 
  98. #错误的用法:lists += 5 
  99. lists += [5] 
  100. #['a', 'b', 'c', 5] 
  101. print(lists) 
  102.  
  103. lists += ["d","e"] 
  104. #['a', 'b', 'c', 'd', 'd', 'e'] 
  105. print(lists) 
  106. #一个奇怪的现象 
  107. lists += "hello" 
  108. #['a', 'b', 'c', 5, 'h', 'e', 'l', 'l', 'o'] 
  109. #字符串是一个iterable,这回导致字符串中的每个字符都被添加 
  110. print(lists) 
  111.  
  112. #下列两种方法可以讲一个字符串添加到列表 
  113. lists += ["hello"] 
  114. #['a', 'b', 'c', 5, 'd', 'e', 'h', 'e', 'l', 'l', 'o', 'hello'] 
  115. print(lists) 
  116. #['a', 'b', 'c', 5, 'd', 'e', 'h', 'e', 'l', 'l', 'o', 'hello', 'Python'] 
  117. lists.append("Python") 
  118.  
  119. print(lists) 
  120.  
  121.  
  122.  
  123.  
  124. print("================================ 输入输出函数 ================================") 
  125. #input()输入函数 
  126.  
  127. print("Type Integers!,each followed by Enter;or ^D or ^Z to finish") 
  128.        
  129. total = 0 
  130. count = 0 
  131.  
  132. while True: 
  133.     try: 
  134.         line = input("Integer:") 
  135.         if line: 
  136.             number = int(line) 
  137.             total += number 
  138.             count +=1 
  139.     except ValueError as err: 
  140.         print(err) 
  141.         continue 
  142.     except EOFError: 
  143.         break     
  144. if count: 
  145.       print("count=",count,"total=",total,"mean=",total/count) 
  146.  
  147.  
  148.  
  149. print("================================ 函数的创建与调用 ================================") 
  150. #Python 函数的定义 
  151. def getAge(msg): 
  152.     while True: 
  153.         try: 
  154.             i = int(input(msg)) 
  155.             return i 
  156.         except ValueError as err: 
  157.             print(err) 
  158.  
  159. #Python 函数的调用 
  160. age = getAge("enter you age:") 
  161. print("your age is:",age) 
  162.  
  163.  
  164. #Python 调用系统函数 
  165.  
  166. #导入模块 
  167. #建议先导入系统模块,然后导入第三方模块,最后导入自己编写的模块 
  168. import random 
  169. #随机产生一个[1,6]之间的一个整数 
  170. x = random.randint(1,6) 
  171. #随机产生列表中的一项 
  172. y = random.choice(["a","b","c","d"]) 
  173.  
  174. print("随机产生一个[1,6]之间的一个整数:",x) 
  175. print("随机产生列表['a','b','c','d']中的一项:",y) 
  176.  
  177.  
  178.  
  179. #打印规定行数和列数的随机数 
  180. def getInt(msg,minimum,default): 
  181.     while True: 
  182.         try: 
  183.             line = input(msg) 
  184.             if not line and default is not None: 
  185.                 return default 
  186.             i = int(line) 
  187.             if i < minimum: 
  188.                 print("must be>=",minimum) 
  189.             else: 
  190.                 return i 
  191.         except ValueError as err: 
  192.             print(err) 
  193.  
  194.  
  195. rows = getInt("rows:",1,None) 
  196. columns = getInt("columns:",1,None) 
  197. minimum = getInt("minimum(or enter for 0):",-1000000,0) 
  198.  
  199. default = 1000 
  200.  
  201. if default < minimum: 
  202.     default = 2*minimum 
  203. maximum = getInt("maximum (or enter for"+str(default)+"):",minimum,default) 
  204.  
  205.  
  206. row = 0 
  207.  
  208. while row < rows: 
  209.     line = "" 
  210.     column = 0 
  211.     while column < columns: 
  212.         i = random.randint(minimum,maximum) 
  213.         s = str(i) 
  214.         while len(s) < 10: 
  215.             s = " " + s 
  216.             line += s 
  217.             column += 1 
  218.     print(line) 
  219.     row += 1 
  220.  
  221.  
  222. print("================================ 标示符与关键字 ================================") 
  223.  
  224. #Python中的_ 
  225. #以_开头和结尾的变量和方法在Python中有特殊的含义,所以我们在定义名称时应该避免这样使用 
  226.  
  227. #_的用法一 
  228. #_存放最后一个被评估的表达式的结果 
  229. for _ in ["a","b","c"]: 
  230.     print(_) 
  231.  
  232. #_的用法二 
  233. #系统定义 如:__init__ 
  234.  
  235. #_的用法三 
  236. #声明私有变量 如__age 
  237.  
  238.  
  239. print("================================ 字符串 ================================") 
  240. #列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢? 
  241. #序列的两个主要特点是索引操作符和切片操作符。 
  242. #索引操作符让我们可以从序列中抓取一个特定项目。 
  243. #切片操作符让我们能够获取序列的一个切片,即一部分序列。 
  244.  
  245.  
  246. #字符串的切片操作 
  247. s = "Hello Python" 
  248. #截取整个字符串 
  249. print(s[:]) 
  250. print(s[0:len(s)]) 
  251.  
  252. #截取前四个字符串 
  253. print(s[:4]) 
  254. print(s[0:4]) 
  255. print(s[0:-8]) 
  256. print(s[-13:-8]) 
  257.  
  258.  
  259. #s[start:end:step] step小于0 表示从反方向开始截取 
  260. #每个3个字符提取一个字符 
  261. print(s[::3]) 
  262. print(s[0:len(s):3]) 
  263.  
  264.  
  265. #字符串的连接 效率对比join()连接 > +连接 > +=连接 
  266.  
  267. #字符串的复制功能* 
  268. print(s*5) 
  269.  
  270.  
  271. print("================================ Python 元组================================") 
  272.  
  273. #元组:元组是有序的序列,支持切片操作,元组定义后不可更改,可以通过下标访问,类似Java中的数组 
  274. #通常用括号将元组括起来 
  275.  
  276. #下面定义一个元组 
  277. hairs = ("black","red","white","brown") 
  278. #可通过下标访问元组的某一项 
  279. #打印white 
  280. print(hairs[2]) 
  281.  
  282. #元组的切片操作 
  283. #打印('black', 'red', 'white') 
  284. print(hairs[0:3]) 
  285.  
  286.  
  287. print("================================ Python 列表================================") 
  288. #列表:列表是有序的序列,支持切片操作,列表可以更改,可以通过下标访问,类似Java中的ArraysList 
  289. #列表通常用中括号定义 
  290. #定义一个列表 
  291. lists = ["a","b","c","d","c"] 
  292. print(lists[0]) 
  293. print(lists[0:3]) 
  294. #将元组转化成列表 
  295. print(list(hairs)) 
  296. #删除lists中的第一项, 
  297. del lists[0] 
  298. #打印["b","c","d"] 
  299. print(lists) 
  300. #删除lists中的第一项,打印'b' 
  301. print(lists.pop(0)) 
  302. #打印["c","d"] 
  303. print(lists) 
  304.  
  305.  
  306. print("================================ Python 字典================================") 
  307. #字典:字典是无序的组合数据类型,以键值对的形式出现,因为字典是无序的,所以不支持索引,也不支持切片,类似Java中的HashMap 
  308.  
  309. #定义一个字典 
  310. dicts = {1:"A",2:"B",3:"C",4:"A"} 
  311.  
  312.  
  313. #由于字典既包含键,又包含值,因此我们可以有多种方式对其进行迭代 
  314.  
  315. #根据key value迭代 
  316. for item in dicts.items(): 
  317.     print("key:",item[0],"value:",item[1]) 
  318.  
  319.  
  320. for key,value in dicts.items(): 
  321.     print("key:",key,"value:",value) 
  322.  
  323.  
  324. #根据key 迭代 
  325. for key in dicts.keys(): 
  326.     print("key:",key,"value:",dicts[key]) 
  327.  
  328.  
  329. #根据value 迭代 
  330. for value in dicts.values(): 
  331.     print("value:",value) 
  332.  
  333.  
  334. #集合:集合也是一种无序的组合数据类型,可以进行交集,并集,等运算,类似Java中的Set 
  335.  
  336. #定义一个集合 
  337. sets = {1,2,4,6,7} 
  338.  
  339.  
  340. #字典内涵,集合内涵,列表内涵,可以是一个表达式 同时也是一个循环 还可以带一个可选的条件、 
  341. l1 = [x for x in lists if x == "c"] 
  342. print(l1) 
  343. #l1,l2两种方式是等价的 
  344. l2 = [] 
  345. for x in lists: 
  346.     if x == "c": 
  347.         l2.append(x) 
  348.  
  349. print(l2) 
  350.  
  351.  
  352. d1 = {k:v for k,v in dicts.items() if v == "A"} 
  353. print(d1) 
  354. #d1,d2两种方式是等价的 
  355. d2 = {} 
  356. for k,v in dicts.items(): 
  357.     if v== "A": 
  358.         d2.setdefault(k,v) 
  359.  
  360. print(d2) 

 

相关文章