持续更新中
文章目录
数据类型
- 整数:(二进制、八进制、十进制、十六进制)[精确]
- 浮点数:(12300=1.23e4 0.00911=9.11e-3)[存在误差]
- 字符串:(’ ’ 或 " ")
- 布尔值:(True/False)[可用 not/or/and 进行运算]
- 空值:用 None 表示
- 列表:list,符号为[ ]
- 元组:tuple,符号为()
练习:
1.计算十进制整数 305 和十六进制整数 0x38f 之和。
int("38f",16)+305
2.把数911分别用二进制、八进制及十六进制表示。
bin(911) #二进制
oct(911) #八进制
hex(911) #十六进制
#以上函数只适用于整数
3.用字符串表示无问西东。
print("无问西东")
计算式子 ox38f == 305 的布尔值
print(0x38f == 305)
字符串
- 字符串用 ’ ’ 或 “ ” 表示
- 如果字符串含有 ’ ’ ,可用 " " 表示
print("I'm a student")
- 如果字符串含有" ",可用’ '表示
- 如果字符串同时含有" "和’ ',需要用到转义符 \
" She said \"I\'m sorry\""
#常用的转义字符还有 \n 表示换行 \t 表示一个制表符 \\表示\字符本身
- 如果一个字符串包含许多需要转义的字符,则在字符串前加个 r,表示这是一个 raw 字符串,里面的字符就不需要转义了
print(r'''Python is created by Guido.
It is free and easy to learn.
Let's start learn and enjoy it''')
- 补充知识:
- ASCII编码:因为计算机只能处理数字,因此要处理文本必须先将其转化为数字。最早的计算机在设计时采用八个比特(bit)作为一个字节(byte),所以一个字节所能表示的最大的整数是255,0-255被用来表示数字、大小写英文字母和一些符号,这个编码表称为ASCII编码。
- Unicode编码:因为中日韩等国家的语言无法用一个字节表示,因此为了统一所有文字的编码,Unicode编码应运而生,用两个字节来表示一个字符,高字节全部填为0。
- 普通字符串如“Python”是用ASCII编码,而中文则用Unicode编码,字符串前加 u 表示用Unicode编码。如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
(注意:python3版本已经不用再预先设置)
整数和浮点数
注意:Python3已进行优化,在进行浮点数运算时不用额外添加小数点
布尔类型
- Python把0,空字符串’ ’ 和 None看成 False,其他数值和非空字符集都看成 True
a = True
print(a and 'a=T' or 'a=F')
#输出为 'a=T'
- 短路计算
a = 'python'
print('hello,', a or 'world')
#输出 'hello python'
b = ''
print('hello,', b or 'world')
#输出'hello world'
a = 'python'
print('hello,', a and 'world')
#输出 'hello world'
b = ''
print('hello,', b and 'world')
#输出'hello'
列表类型
- 列表是一种有序的集合,可以随时添加、删除和修改其中的元素。
- 列表中的元素是按照顺序排列的,用 [ ] 符号创建。
L = ['Adam', 95.5,'Lisa',85,'Bart',59]
print (L)
-
一个元素也没有的list:空列表
empty_list = [ ]
-
可根据列表中的元素的序号进行引用
L[3] #输出为85
-
列表添加新元素有两种方法
(1) list.append( ):将新元素添加到末尾
(2) list.insert( , ):第一个参数为位置序号,第二个参数为新元素 -
列表删除元素
list.pop( ) #参数为元素序号,默认为-1
扫描二维码关注公众号,回复: 3506987 查看本文章 -
列表替换元素
list[ ] = #等号左边为元素位置,右边为新元素
元组类型
- 元组是特殊的列表,一旦创建,则无法修改。
- 元组创建符号为 ( )
April = ("听从你心","无问西东")
- 创建单元素元组:和列表不同,元组中只有一个元素时,会默认符号 ( )此时不表示元组,而是作为括号计算时的优先级,所以单元素元组要后加" , "
April_one = ("无问西东") #输出为 无问西东 ,即字符串形式 April_two = ("无问西东",) #输出为 ('无问西东',) , 即元组形式
- 元组中若含有可变类型的数据,则该数据可以改变,即元组是指向不变
April = ('爱你所爱', '行你所行',['听从你心', '无问西东'])
L = April[2]
L(0) = "一身诗意千寻瀑"
L(1) = "万古人间四月天"
#此时 April 输出为 ('爱你所爱', '行你所行', ['一身诗意千寻瀑', '万古人间四月天'])
- 注意:元组类型操作基本等同于列表操作,故操作符号仍为[]
字典类型
我们知道列表(list)和元组(tuple)可以用来表示顺序集合,但其元素都是独立的,字典类型(dict)就是关联元素的数据类型,如名所示,类似于查找表。
dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。
如下所示,冒号左边为key,右边为value,dict就是通过key来寻找相应的value。
d = {
'A': 95,
'B': 85,
'C': 60
}
查找方法有两种:
- 输入代码
print(d['key']
即可,不存在该Key时会报错:KeyError - 使用dict的函数
print(d.get('key'))
不存在该Key时返回 None
更新字典(dict)
在上例中添加D的成绩58:d['D'] = 58
遍历字典(dict)
d = {
'A': 95,
'B': 85,
'C': 60
}
for key in d:
print( key + ':', d[key])
集合类型
set作为集合持有一系列元素,其元素不能重复,且元素是无序的。
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
s = set([99,80,75])
访问集合(set)
访问 set中的某个元素实际上就是判断一个元素是否在set中。
利用 in 操作符进行判断。
s = set(['A','B','C'])
print('B' in s)
更新集合(set)
例:针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:
if name in s:
s.remove(name)
else:
s.add(name)
print s
遍历集合(set)
s = set([('A', 95), ('B', 85), ('C', 60)])
for x in s:
print(x[0]+':',x[1])
print语句
print语句是输出语句,其作用就不多说了吧(〃‘▽’〃)
-
>>>是Python解释器的提示符,不是代码的一部分
-
print 语句可以跟上多个字符串,用逗号隔开(相当于空格)
练习
请用两种方式输出字符串 hello,world
print("hello,world")
print("hello,""world")
注释
- 单行注释:以 # 开头,后接注释内容
- 多行注释:’’’…’’’
变量
- 命名:必须是大小写字母、数字以及下划线(_)的组合,且开头不能是数字
- python是一门动态语言,不同于静态语言(C,Java等),不需要预设数据类型
- 赋值符号 = 将等号右边的值赋给左边的变量
判断语句
计算机之所以可以做许多自动化的任务,一个重要的原因在于它可以通过特定语法自行判断。
if-else 语句
例:小明的成绩为75分,60分为及格线,请判断小明是否及格
grade = 75
if grade >= 60:
print("及格")
else:
print("不及格")
注:Python代码中具有相同缩进的代码被视为代码块,请严格遵循缩进规则:4个空格,尽量不要使用Tab
if-elif-else 语句
例:小华的成绩为75分,学校规定90分及以上为A,75分及以上为B,60分及以上为C,60分以下为D,请判断小华的成绩等级。
grade = 75
if grade >= 90:
print("A")
elif grade >= 75:
print("B")
elif grade >= 60:
print("C")
else:
print("D")
循环语句
计算机在具有重复性规律的事物上的工作效率极高,其原因在于它可以以极快的速度遍历并且循环该事物。
for 循环
for 循环会遍历循环体的每一个元素,直到中断或结束
例:班里期末考试结束后,老师要统计某一学习小组的平均成绩,已知该小组四位同学的成绩分别为75,96,59,61,请用循环语句进行相关计算。
L = [75,96,59,61]
sum = 0
for grade in L:
sum += grade
print(sum/4)
while 循环
while 循环根据表达式判断循环是否结束
例:计算911以内奇数的和
sum = 0
x = 1
while x <= 911:
sum += x
x += 2
print(sum)
break 退出循环
在循环语句中,如果想要在循环体内直接退出循环,可以使用break语句。
例:利用 while True 无限循环配合 break 语句,计算 1 + 3 + 9 + 27 + 81 + … 的前9项的和。
sum = 0
x = 1
n = 1
while True:
sum += x
n +=1
x = 3**(n-1)
if n > 9:
break
print(sum)
continue 继续循环
在循环语句中,可以使用continue语句跳过后续循环代码,直接进入下一次循环。
例:计算911以内奇数的和。
sum = 0
x = 0
while True:
x = x + 1
if x > 911:
break
if x%2 == 0:
continue
sum += x
print(sum)
多重循环
在循环内部还可以嵌套循环。
例:对100以内的两位数,请使用两重循环输出所有十位数数字比个位数数字小的数。
for x in [1,2,3,4,5,6,7,8 ]:
for y in [ 2,3,4,5,6,7,8,9 ]:
if x < y:
print(10*x+y)