python入门(学习笔记)

版权声明:转载前请记得先联系作者呦 https://blog.csdn.net/Time_D/article/details/82858616

持续更新中

数据类型

  • 整数:(二进制、八进制、十进制、十六进制)[精确]
  • 浮点数:(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)

猜你喜欢

转载自blog.csdn.net/Time_D/article/details/82858616