Python开发

七月在线python学习笔记

…… 第二章,用Python设计的第一个游戏

一,第一个小游戏

temp = input("嗯,我要开始整理笔记啦!!嗯,猜一下今天星期几哎!")guess = int(temp)if guess == 8: print("嘻,你好聪明!!")else: print("猜错啦!嗯,希望你有个好心情哎!")print("give over!!")

七月在线python学习笔记

c-like语言:一切语法类似于C语言 的编程语言称为C-like语言。

二,缩进

缩进:是Python的灵魂,Python对缩进有严格的要求,打冒号后python会自动缩进。

三,BIF(Built-in Functions)

内置函数

python不需要事先申明一个变量,直接改一个名字赋值,变量就生成了。

dir():显示对象所有的属性和方法。

dir(__builtins__):输出所有的Python内置系统的变量和函数,首字母大写为异常类。

dir(__name__):输出Python对象的属性和方法。

第三章,成为高手前必须知道的一些基础知识

一,变量:

Python数据类型:都是class类型,变量不需要声明类型,使用前必须赋值,变量赋值以后才会被创建,通常讲的变量类型是指变量所引用的对象的类型,或者讲变量值的类型,

二,字符串:

创建字符串需要字符两边加引号,可以是单引号或者双引号,当需要出现单双引号时,可以使用转义字符。或者单双引号同时使用。

print(3+5)print('3'+'5')print('李瑞龙')print("李瑞龙")print("李瑞\"龙")print('李\'瑞龙')print("李'瑞龙")

三,原始字符串:

即在字符串前面加英文字母‘r’即可。无论是否原始字符串,都不可以使用反斜杠作为结尾。反斜杠表示字符串还没有结束。

print("你\n好")print(r"你\n好")

四,长字符串:

对于使用的长字符串使用三重双引号

print(""" 陈平安说, “我喜欢的姑娘,她已经是最好看了。 可是比最好看更好看的她, 是我在看她的时候、她假装不知道的时候, 侧着脸,睫毛微颤的模样。” ——烽火戏诸侯 《剑来》""")

五,条件分支:

if ints==2: print('哎,好聪明呀!')else: print('哎,你好傻哎!')

六,while循环:

while ints!=2: if ints==3: print('哎,好聪明呀!') break else: print('哎,你好傻哎!') ints = input("嗯,在猜我的幸运数字是?^_^")

七,引入外援:

import randomsecrret = random.randint(0,10)temp = input("嘻,猜一下我今天的幸运数字!!")guess = int(temp)while guess != secrret: temp = input('嗯,逗比,在给你一次机会!') guess = int(temp) if guess == secrret: print("嘻,好厉害呀") else: if guess secrret: print("大了点哎") else: print('小了点哎')print('游戏结束')

九,闲聊数据类型:整型,浮点型,布尔型。

print( 0.00000000000000000025)print(True+False)print(True*False)#print(True/False)# #零不能做除数a ="520"b = 13.12c = 5.99print(int(b))print(b)print(int(a))print(a)print(float(a))print(float(520))print(str(c)+str(43))

类型转换:

int() 讲字符串或浮点数转换为整数,浮点数会截断 float() 讲一个字符串或整数转换为浮点数 srt() 讲任何一个数或任何其他类型转换为一个字符串

获取类型的信息:type();

十,常用操作符:

+ , – , * ,/ (除法), % , //(地板除法);

优先级问题:Python还有一个特殊的运输符,“**”运算符,称为幂运算操作符,例如3**2,左侧为底数,右侧为指数。即3的2次方。

注意:幂运算操作符比其左侧的一元操作符优先级高,比起右侧的一元操作符优先级低,

print(-3**2)#负的3的2次print(3**-2)#3的-2次

比较操作符: , =, , =,==,!=;

逻辑操作符: and(与) or(或) not(非)

第四章,了不起的分支结构 第五章,列表,元组和字符串

元组:

#元组,不可变得列表。# 索引,切片,len() print等均可以使用# 但是 append ,extend del 不能使用my_tup =(1,'a',3.2,True)my_tups = 1,2,3,True a = 1b = 2# 元组赋值a,b = b, a#@ 切分邮件地址name,domin = '1224965096@qq.com'.split("@")# 函数返回元组def max_min(lst): max = min = lst[0] for i in lst: if i max: max = i if i min: min = i return max,min#元组的DSU模式# Decotrad sort undecotrad 装饰,排序,反装饰#根据单词长度对单词列表进行排序#@staticmethoddef funcname(parameter_list): # 将单词长度和单词以元组方式放到集合里 t = [] for word in words: t.append((len(word), word)) #集合t排序 t.sort(reverse = True) #将排好序的单词放到res里 res = [] for length, word in t: res.append(word) return res# 单词排序test.sort(key = lambda x:len(x), reversed = True)

第六章,函数

# if 条件表达式:(比较。成员。逻辑) #执行语句#else: #执行语句s = 'liruilong'for c in s: print(c)print([i for i in range(10)])#列表解析print([i for i in range(10) if i%2 == 0])#生成器表达式print((i+1 for i in range(10)) )#可以定义默认参数,默认参数可以更给。需要放到最后def f(x, y = True): print("你好!!") if y: print("你不好!!")f(False)#你好!!#你不好!!#关键字参数,关键字参数是让调用者通过使用参数名区分参数,允许改变参数列表中的数据def f1(x,y): print("山河无恙") if y: print("你好") if x!=0: print("你不好")f1(False,1)#传递函数def addMe(x): return (x+x)def self(f,y): print(f(y))

第七章,字典和集合

集合:

#集合# 无序不重复的元素键集#和字典类似,但是没有值# 创建集合的方式x = set()x = {"key1","key2"}#添加和删除的方法x.add("key3")x.remove("key3")#支持的运算符 -(差集)y = { "key1","key2"}print(x -y ) #{'key2'}#交集 & , 并集
, 不等于(!=), 等于(==)# 成员print("key2" in y)#Trueprint( x in y) #Falsefor key in y: print(key)

字典:

#字典#创建字典 使用{} 指明键值对my_dict = {'liruiong':124, 'lirui':457,'li':78}# 键必须是不可重复且不可变,值可以是任意类型#访问字典的方式print(my_dict['li']) #78#增加一个新的对:my_dict['lisss'] = 467#字典运算符和方法 len(字典名):获取字典的键值对的数量# key in 字典名 :快速判断key是否只字典中.# 等价于 my_dict.has_key(key)# my_dict.clear() 清空一个字典# my_dict.items() 以列表的形式返回所有的键值# my_dict.keys() 获取全部的键# my_dict.values 获取全部的值#列表 读取字符串中字符的个数lst = [0] * 26# 列表的方式s = 'dfgfdgfdg'for i in s: lst[ord(i) – 97] += 1print(lst)# 字典的方式d = {}for i in s: if i in d: d[i] +=1 else: d[i] = 1# 小说单词计数:f = open("text.text")# 获取所有的单词的个数works_frep = {}for line in f: work = line.strip().split() for work in words: if word in works_frep: works_frep[word] += 1 else: works_frep[word] = 1# 按获取单词个数并排序freq_word = []for word,freq in works_frep.items(): freq_word.append((freq, word))freq_word.sort(reverse = True)# 获取前10 个使用最多的单词for freq, word in freq_word[:10]: print (word)f.close()

第八章,永久存储

第九章,异常处理: 第十章,图形用户界面 第十一章,类和对象

1,面向对象编程:

class Turle: #Python中约定类名必须以大写字符开头。 color = 'green' weight = 10 legd = True moun = "大嘴" def climb(self): print("我正在努力的向上爬") def run(self): print("吾心安处是吾乡")tt = Turle()tt.climb()tt.run()class Turle: #Python中约定类名必须以大写字符开头。 color = 'green' weight = 10 legd = True moun = "大嘴" def climb(self): print("我正在努力的向上爬") def run(self): print("吾心安处是吾乡")tt = Turle()tt.climb()tt.run()class Ball: def setName(self,name): self.name = name def kick(self): print('我 叫 %s, ' % self.name)a = Ball()a.setName("李瑞龙")a.kick()class Potato: #构造方法 def __init__(self, name): self.name = name def kick(self): print("我叫 %s ,"% self.name)ad = Potato("liruilong")ad.kick()# 默认上Python的属性和方法都是公开的class Preser: name = "小甲鱼"p = Preser()print(p.name)class Presers: # 定义为私有,私有机制是一种伪私有,可以换一种方法来实现 __name = "小甲鱼" #构造方法 def __init__(self, name): self.__name = name def getName(self): return self.__namep = Presers('小甲鱼')# 不能实现访问print(p.__name)# 可以实现访问print(p._Presers__name)

2,继承:

# 继承 calss 类名(被继承的类):class Parent: def hell(self): print("正在调用父类 的方法")class Child(Parent): pass# 子类中定义父类同名的方法会被覆盖p = Parent()s = Child()# 正在调用父类的方法p.hell()# 正在调用父类的方法s.hell()

3,组合:

#组合class Turtle: def __init__(self, x): self.num = xclass Fish: def __init__(self, x): self.num = xclass Pool: def __init__(self, x, y): # 组合,其他类作为这个类的成员变量 self.turtle = Turle(x) self.Fish = Fish(y) def print_num(self): print("水池里的鱼,有几条 %d && %d" % (self.turtle.num, self.Fish.num))p = Pool(1, 10)p.print_num()

4,绑定:

self:一般用在实例方法中,表示只有实例对象可以访问,而类对象不能访问,

作用:可以调用自身的属性和方法,

类对象:只能访问类属性和方法。

5,一些相关的BIF:

第十二章,魔法方法 第十三章,模块 第十四章,论一只爬虫的自我修养 第十五章,GUI的最终选择:Tkinter 第十六章,Pygame游戏开发

嗯,感觉现在用不到,学了一段时间就忘记了,嗯,如果有机会,等找到工作在学吧,先把把Java在好好学学,找一个好工作.      2019.9.7

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注