- 启用
- 常见命令
- 输出
- 一个小程序
- 变量和字符串
- 条件分支
- 数据类型
- 整型
- 浮点型
- e记法
- 布尔类型
- 获取数据类型
- 常用操作符
- 算术操作符
- 优先级
- 比较操作符
- 逻辑操作符
- 分支与循环
- while循环
- for循环
- range()
- break 与continue
- 列表
- 向列表添加元素
- 从列表中获取元素
- 列表分片(slice)
- 列表的常用操作符
- BIF对列表的操作
- 元祖
- 使用小技巧
IDLE 是一个Python shell,shell-“外壳”,就是一个通过键入文本与程序交互的途径。
常见命令 输出print(" ")
//例如
>>> print("I love")
I love
>>> printf("I love")
Traceback (most recent call last):
File "", line 1, in
printf("I love")
NameError: name 'printf' is not defined
>>> print(5+3)
8
>>> 5+3
8
>>> 1234567890+987654321
2222222211
>>> print("well water" + "river")
well waterriver
>>> print("I love"* 8)
I loveI loveI loveI loveI loveI loveI loveI love
>>> print("I loven"* 8)
I love
I love
I love
I love
I love
I love
I love
I love
>>> print("I loven" + 8)
Traceback (most recent call last):
File "", line 1, in
print("I loven" + 8)
TypeError: can only concatenate str (not "int") to str
>>>
>>>
输出print而不是printf
数字的计算可以用print,也可以直接书写输出
字符串之间可以相加“+”;字符串与数值可以进行乘法,即输出多少个;但不能相加,因为类型不同
python是面向对象的高级编程语言,具有集成的动态语义
- 如何在一个字符串中嵌入一个双引号?
//反斜杠转义
>>> print("I love "you" ")
I love "you"
//单引号 引注 双引号
>>> print('I "love" you')
I "love" you
>>>
一个小程序
print('、、、、大家好、、、、')
temp = input("0-9中,想想此刻我在想哪个数字")
guess = int(temp)//返回整型并赋值
if guess == 8:
print("你真牛b")
else:
print("你猜错了,笨蛋!")
print("呵呵,不玩了")
input输入
注意缩进的使用
BIF内置函数,查看内置函数
>>> dir(__builtins__)
对应内置函数的使用
>>> help(input)
变量和字符串python3中一个提供了72个BIF
python大小写敏感
注意缩进,严格要求缩进可以使得python代码精简且富有层次;没有正常的使用缩进会导致代码错误,与预期相差甚远;在正确的位置输入:,IDLE会自动将下一行缩进
当==错写成=python会报错
拼接:在一些编程语言中,可以通过“相加”在一起,如:‘I’ + ‘Love’ + ‘FishC’ 会得到 ‘ILoveFishC’,在 Python 里,这种做法叫做拼接字符串。
在python中&用and表示
变量:
- 在使用变量之前,需进行赋值;
- 变量名可以包括字母、数字、下划线、但变量名不能以数字开头;
- 字母可以是大些或者小写,但大小写敏感;
- =即“赋值”,左边是名字,右边是赋值,不可写反;
- 变量的命名理论可以是任何合法的名字,但尽量专业。
字符串:
- 在字符串中需要出现单引号和双引号时如何处理?上个内容有解释。
原始字符串:
使用非常简单,只需要在啊字符串前面加一个r且结尾不能加,否则报错
>>> str = r'C:now' >>> str 'C:\now' >>> print(str) C:now >>> str=r'C:nowbivbibigbibibi' >>> str 'C:\now\bivbi\bigbi\bibi' >>> print(str) C:nowbivbibigbibibi >>> str=r'C:nowbivbibigbibibi' SyntaxError: EOL while scanning string literal >>>
如果非要使用 r 进行原始字符串操作的话可以采用如下形式解决:
>>> str=r'C:now''\' >>> str 'C:\now\' >>> print(str) C:now >>>
长字符串
如果需要得到一个跨越多行的字符串,这就要用到三重引号字符串
>>> str="""《江雪》 唐·柳宗元 千山鸟飞绝,万径人踪灭。 孤州蓑笠翁,独钓寒江雪。""" >>> str '《江雪》nnu3000u3000唐·柳宗元nnu3000u3000千山鸟飞绝,万径人踪灭。nnu3000u3000孤州蓑笠翁,独钓寒江雪。' >>> print(str) 《江雪》 唐·柳宗元 千山鸟飞绝,万径人踪灭。 孤州蓑笠翁,独钓寒江雪。 >>>条件分支
| python的比较操作符 | 含义 |
|---|---|
| > | 左边大于右边 |
| >= | 左边大于等于右边 |
| < | 左边小于右边 |
| <= | 左边小于等于右边 |
| == | 左边等于右边 |
| != | 左边不等于右边 |
python的条件分支语法:
if: 条件为真(true)执行操作 else: 条件为假(false)执行的操作
while
提示:
使用and逻辑操作符:python的and逻辑操作符可以使任意表达式连接在一起,并得到一个布尔类型的值
引入外援:每次运行程序产生的答案是随即的
数据类型 整型 浮点型 e记法 布尔类型random模块
random模块中有一个函数叫做randint(),会返回一个随即的整数
true 1
false 0
type()
isinstance()
>>> type(a)常用操作符 算术操作符>>> type(b) >>> a = 'niubi' >>> isinstance(a,str) True >>> isinstance(a,int) False >>>
*、/、//、+、-
优先级幂运算
正负号
算术操作符
比较操作符
逻辑运算符
<、<=、>、>=、==、!=
逻辑操作符and
or
not
python可以有效避免悬挂else
条件表达式(三元操作符)
语法: x if 条件 else y
断言(assert)
assert这个关键词称之为断言 ,当这个关键词后面的条件为假的时候,程序自动崩溃并抛出AssertionError的异常
while循环一般来说,可以用assert在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
while 条件: 循环体for循环
语法: for 目标 in 表达式: 循环体range()
range([strat,]stop[,step=1])
这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的
step=1表示第三个参数的值默认值是1
range这个BIF的作用是生成一个从start参数的值开始道stop参数的值结束的数字序列
>>> for i in range(5): print(i) 0 1 2 3 4 >>> for i in range(2,7): print(i) 2 3 4 5 6 >>> for i in range(2,7,2): print(i) 2 4 6 >>>break 与continue 列表
普通列表
混合列表
空列表
append
>>> member =['珍珍','莲莲','皑皑']
>>> member
['珍珍', '莲莲', '皑皑']
>>> member.append('妞妞')
>>> member
['珍珍', '莲莲', '皑皑', '妞妞']
>>>
>>> member.append('明明','跃跃')
Traceback (most recent call last):
File "", line 1, in
member.append('明明','跃跃')
TypeError: append() takes exactly one argument (2 given)
>>> //多个对象不成功
extend()
对象是数组
>>> member.extend('明明','跃跃')
Traceback (most recent call last):
File "", line 1, in
member.extend('明明','跃跃')
TypeError: extend() takes exactly one argument (2 given)
>>> member.extend(['明明','跃跃'])
>>> member
['珍珍', '莲莲', '皑皑', '妞妞', '明明', '跃跃']
>>>
insert()
插入指定位置,只能插入单个对象
>>> member.insert(1,'茵茵') >>> member ['珍珍', '茵茵', '莲莲', '皑皑', '妞妞', '明明', '跃跃'] >>> member.insert(1,'轻轻','拜拜') Traceback (most recent call last): File "从列表中获取元素", line 1, in member.insert(1,'轻轻','拜拜') TypeError: insert expected 2 arguments, got 3 >>> member.insert(1,['轻轻','拜拜']) >>> member ['珍珍', ['轻轻', '拜拜'], '茵茵', '莲莲', '皑皑', '妞妞', '明明', '跃跃'] >>> member.insert(1,'轻轻',2,'拜拜') Traceback (most recent call last): File " ", line 1, in member.insert(1,'轻轻',2,'拜拜') TypeError: insert expected 2 arguments, got 4 >>>
remove()
必须清楚元素具体名字
>>> member
['珍珍', ['轻轻', '拜拜'], '茵茵', '莲莲', '皑皑', '妞妞', '明明', '跃跃']
>>> member.remove(['轻轻','拜拜'])
>>> member
['珍珍', '茵茵', '莲莲', '皑皑', '妞妞', '明明', '跃跃']
>>> member.remove('iauvbfi')
Traceback (most recent call last):
File "", line 1, in
member.remove('iauvbfi')
ValueError: list.remove(x): x not in list
>>>
del语句
>>> member ['珍珍', '茵茵', '莲莲', '皑皑', '妞妞', '明明', '跃跃'] >>> del member[1] >>> member ['珍珍', '莲莲', '皑皑', '妞妞', '明明', '跃跃'] >>>
pop()
>>> member.pop() '跃跃' >>> member ['珍珍', '莲莲', '皑皑', '妞妞', '明明'] >>> name = member.pop(2) >>> name '皑皑' >>> member ['珍珍', '莲莲', '妞妞', '明明'] >>>列表分片(slice)
利用索引值,每次可以从列表获取一个元素,但如果需要一次性获取多个元素,可以利用列表分片简单实现。
>>> member[1:2] ['莲莲'] >>> member[:3] ['珍珍', '莲莲', '妞妞'] >>> member[:] ['珍珍', '莲莲', '妞妞', '明明'] >>>列表的常用操作符
比较操作符
>>> list1 = [123] >>> list2 = [234] >>> list1 > list2 False >>> list1 = [123,456] >>> list2 = [234,123] >>> list1 > list2 False
逻辑操作符
>>> list3 = [123,456] >>>> (list1 < list2) and (list1 == list3) True
连接操作符 (必须是同个类型)
>>> list4 = list1 + list2 >>> list4 [123, 456, 234, 123] >>> list1 + '安好是是v' Traceback (most recent call last): File "", line 1, in list1 + '安好是是v' TypeError: can only concatenate list (not "str") to list
重复操作符
>>> list3 [123, 456] >>> list3 *3 [123, 456, 123, 456, 123, 456] >>> list3*=2 >>> list3 [123, 456, 123, 456]
成员关系操作符
>>> list3 [123, 456, 123, 456] >>> 123 in list3 True >>> 890 in list3 False >>> 123 not in list3 False >>> list5 = [123,['aaa','bbb'],456] >>> list5 [123, ['aaa', 'bbb'], 456] >>> 'aaa' in list5 False >>> 'aaa' in list5[1] True >>>BIF对列表的操作
count
>>> list3 [123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456] >>> list3.count(123) 6
index
>>> list3.index(123) 0 >>> list3.index(123,5,7) 6 >>>
reverse
>>> list3 [123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456] >>> list3.reverse() >>> list3 [456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123]
sort
>>> list6 = [5,2,8,3,6] >>> list6.sort() >>> list6 [2, 3, 5, 6, 8]
r如何翻转,即从大到小排列
法一:先sort,在reverse
>>> list6 = [5,2,8,3,6] >>> list6.sort() >>> list6 [2, 3, 5, 6, 8] >>> list6.reverse() >>> list6 [8, 6, 5, 3, 2]
法二:利用sort(reverse=True)
>>> list7 = [8,2,6,9,4,5] >>> list7 [8, 2, 6, 9, 4, 5] >>> list7.sort(reverse=True) >>> list7 [9, 8, 6, 5, 4, 2]
python的标签即多一个名字,指代依旧,注意与分片的区别
>>> list7 [9, 8, 6, 5, 4, 2] >>> list8 = list7[:] >>> list8 [9, 8, 6, 5, 4, 2] >>> list9 = list7 >>> list9 [9, 8, 6, 5, 4, 2] >>> list7.sort() >>> list7 [2, 4, 5, 6, 8, 9] >>> list8 [9, 8, 6, 5, 4, 2] >>> list9 [2, 4, 5, 6, 8, 9]元祖
由于和列表是近亲关系,所以元祖和列表在实际使用上非常相似
区别:列表可以修改其中任意元素;元祖则不行。
元祖的一般创建与分片:
>>> tuple1 = (1,2,3,4,5) >>> tuple1 (1, 2, 3, 4, 5) >>> tuple1[1] 2 >>> tuple1[:5] (1, 2, 3, 4, 5) >>> tuple2 = tuple1[:] >>> tuple2 (1, 2, 3, 4, 5)
只有一个对象时,元祖的创建:
>>> temp=1, >>> type(temp)>>> temp= (1,) >>> type(temp)
空元祖的创建:
>>> temp = [] >>> type(temp)>>> temp = () >>> type(temp)
注意,
>>> 8 * (8) 64 >>> 8 * (8,) (8, 8, 8, 8, 8, 8, 8, 8)
元祖的插入:
>>> temp = ('珍珍','皑皑','莲莲','明明')
>>> temp = temp[:2] + ('掰掰',) + temp[2:]
>>> temp
('珍珍', '皑皑', '掰掰', '莲莲', '明明')
元祖元素的删除:
元祖相关的操作符:
拼接操作符:
重复操作符:
关系操作符:
成员操作符:
逻辑操作符:
- ALT+P 返回上一条语句;ALT+N 返回下一条语句



