python 3 的基础语法 简要笔记

Python 的 rfind()and find()语法:

Python rfind() 返回字符串第一次出现的位置(从右向左查询),如果没有匹配项则返回-1。

Python find() 返回字符串第一次出现的位置(从左向右查询),如果没有匹配项则返回-1。

str.rfind(str, beg=0 end=len(string))

str是指要查找的字符串  beg开始查找的位置

python里面的sep语法,print('hello',' world', sep=',    ', end='!')

hello,      world!往两个字符串之间添加东西,

从键盘里面输入多个值 用input(). Split()此时得到的为字符型的值

想要的到整形的值 map(int,input().split()) ,这时才输入整形的值

判断语句用and 或者or连接

Input是输入input('please

input year')

title() 单词首字母变大写 str1.title()

upper() 字符串变大写str1.upper()

print('%d + %d = %d' % (a, b, a + b))

2+ 3 = 5

循环语句中的range

for x in range(101):

range可以用来产生一个不变的数值序列。

range(101)可以产生一个0到100的整数序列。

range(1,100)可以产生一个1到99的整数序列。

range(1,100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。求水仙花数求素数

都是运用了简单的加减乘除和取余运算,再加一点if的判断和for循环

在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载,因为我们在定义一个函数的时候可以让它有多种不同的使用方式。

在python函数中,没有参数的时候,也可以运行程序,有参数时,运行参数。

当不清楚参数的数量时,可以选着可变参数

# 在参数名前面的*表示args是一个可变参数

# 即在调用add函数时可以传入0个或多个参数

def add(*args):

python没有函数重载的概念,所以当两个函数名同名时,后面的函数名会覆盖前面的函数名

str2 = 'abc123456'

print(str2[::-1])  # 654321cba

print(str2[-3:-1])  # 45

空的地方表示全选 ,第三个选择表示步长

list1.remove(7)//删除列表里面的数 7 是列表里面的数

f = [x for x in range(1, 10)]

x从1到9以x的形式表现出来

f = [x + y for x in 'ABCDE' for y in '1234567']

x先于y 进行for循环 相当于一个for循环的嵌套

['A1','A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7',

'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'D1', 'D2', 'D3', 'D4', 'D5', 'D6',

'D7', 'E1', 'E2', 'E3', 'E4', 'E5', 'E6', 'E7']

直接生成一个列表是加[],而采用列表的生成器语法是运用();

f = [x + y for x in 'ABCDE' for y in '1234567'] 列表

f = (x ** 2 for x in range(1, 1000))生成器

生成器好处是不占用额外的空间储存数据,缺点 需要时间去计算才能得到数据

元组中的元素不能修改,只能整体一起更新,原来的元祖被抛弃

将元组转化为列表 用list()

将列表转化为元组 用tuple()

.Pop()除去集合之中最小的一个数

字典:与列表、集合不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

字典 :{}

元组:()

列表:[]

.sort()直接对列表进行排序

sample(序列a,n) 功能:从序列a中随机抽取n个元素,并将n个元素生以list形式返回。

在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。

也就是class

Print()出来的东西要想不分行的话 要在最后加一个 end=” ”

Class 叫类, class 后面跟着是对象

@Classmethod 定义类方法 主要用途之一是定义:“代替构造函数”

@staticmethod 定义静态方法

静态方法并非无用 - 它是一种将函数放入类中的方法(因为它在逻辑上属于那里),同时表明它不需要访问类。

对象有属性和方法

一般来说 对象的属性都是设置为私有的,可以加在属性命名时__,

对象的方法是公开的

但是一般来说,不建议将属性设置为私有,这会子类无法访问()

所以 一般让属性名以单下划线(_)开头,表示属性是受保护的,这只是一种暗示和隐喻(对程序猿来说)

什么是方法:

在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以执行方法中的代码,也就是说我们只需要知道方法的名字和传入的参数

也就是def 定义的就是方法

是对象执行的具体的动作。

@property 是一个包装器,可以用来包装setter和getter方法,可以直接用方法访问,而不是在前面加set_ 或者get_;要更加简洁一些

  @age.setter

__slots__ 变量限制class的属性,

代码为__slots__= ('name', 'age')

类方法:类方法的第一个参数约定名为cls,它代表的是当前类相关的信息的对象

通过这个参数我们可以获取和类相关的信息并且可以创建出类的对象

静态方法和类方法都是通过给类发消息来调用的:也就是说,静态方法和类方法可以直接调用属性加方法进行访问。

static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;

如果文件a.c需要引用b.c中变量int

v,就可以在a.c中声明extern int v,然后就可以引用变量v。

继承和多态,

提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息的我们称之为子类,也叫派生类或衍生类

父类初始化代码 def __init__(self, name, age):

子类初始化代码def __init__(self, name, age, grade):

super().__init__(name, age)

super().__init__就是继承父类的代码


@abstractmethod

所谓抽象类就是不能够创建对象的类

抽象方法只有在子类里面实例化才能用 

 Abc模块下面的一个包装器

randrange() 方法返回指定递增基数集合中的一个随机数,基数缺省值为1。

Global 和 nonlocal 的区别

[if !supportLists]第一,  [endif]两者的功能不同。

global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。

[if !supportLists]第二,  [endif]两者使用的范围不同。

global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未定义该变量,global修饰后也可以直接使用,而nonlocal关键字只能用于嵌套函数中,并且外层函数中定义了相应的局部变量,否则会发生错误

pygame 库的简单运用

 for event in pygame.event.get():从队列中获取事件

event.type  接口的type只读属性Event返回包含事件类型的字符串

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355