Python基础内容学习笔记

一、初步学习

#python中'#'表示注释

#变量命名的规则:只能字母,数字和下划线,且不能以字母开头,不能包含空格,区分大小写,不能用关键字,与C/C++类似

#python中n=int(python可以处理很大的整数范围),f=float(与C相同4byte),s=str,b=bool

#用type(有时也被称为类)来限定输出数据类型

#python会自动把整数除整数转化为浮点数

#下列两行代码打印出python所有的关键字

#import keyword

#print(keyword.kwlist)

#python的bool类型依旧保留了非0即真的规则

#字符串在python中单引号和双引号的效果是一样的(如下面1,2),但是如果想要处理第三条语句,便会报错

print('I told you, "python is good".')
print("I told you, 'python is good'.")
#print("I told you, "python is good".") #这句话是错误的
print("I told you, \"python is good\".") #\用来告诉编译器后面的"是作为字符串本身输出的

str类型变量+'.'+function

str="1  Hello, boy!   1"
print(str.title())  #首字母大写输出
print(str.upper())  #全部大写输出
print(str.lower())  #全部小写输出
print(str.rstrip()) #去除右端空格输出
print(str.lstrip()) #去除左端空格输出
print(str.strip())  #去除两边空格输出
#python在.后面提供了很多函数以供使用

类型转换函数(注意与c/c++不同)

y=int(x)
y=float(x)
y=str(x)
#python中是变量类型(变量)来强制转换数据的

二、语法初步

Python与c/c++不同,代码之间遵从严格的缩进规则,用来表示代码与代码之间的层级和包含关系,这一点在书写代码的时候应该注意

a= 103
if a > 100 :
    print("yes")
    print("yes")
else :
    pass     #pass叫做"占位语句",是由于else后必须要有下层代码,pass类似于continue
print("no")  #与if else 同级
#输出
yes
yes
no

 python中同样也有+=、-=、*=、/=、取模%

“ // ”,整除运算,这是由于Python的除法会把数据转化成float类型;

“ ** ”,求幂运算,2**2表示求2        的平方,优先级高于乘除;

print("12345\
789")
# 第一行末尾的" \ "表示连接上下两行代码,是为了美观,编译者用于分行的,等价于
print("123456789")

函数以及函数的定义

python中提供了很多函数

x=pow(2,8)      #2的8次方  注意:pow函数和**运算是否有区别
x=abs(-10)      #取绝对值
x=round(7/2)    #返回四舍五入的结果
#自定义函数语法

def <函数名>(<形参>):
    <函数体>
    return <返回值列表>
#例如以下函数
def PLUS (a,b):
    c=a+b
    return c

同时我们可以在python中import(引入)许多module(模块)

import math  #引入math模块
from math import sqrt    #求平方根
from math import floor   #下取整
from math import ceil    #上取整
#单独导入math模块中的sqrt函数,通过math.sqrt或者直接用sqrt都可以使用该函数

 同时还有用于画图的模块---turtle

import turtle
t=turtle.Pen()   #创建一支画笔,注意P是大写
x=30
for x in range(x):  #循环x次
    t.circle(100)   #画一个直径为100的圆
    t.left(360/x)   #向左旋转360/x=12度

同样的可以从键盘上接受数据

name = input ("What's your name:")  #用户输入姓名+回车后程序才会继续
age = input ("How old are you ?")   #用户输入年龄
age = int ( age )
print("Hi,",name,"I am",age,"too.")

占位符(与C的scanf函数类似)

name="AyanamiRei"
age=16
stature=158.50
text=("%s is my love,and she is %d years old.Her stature is %.2f.")%(name,age,stature)
print(text)
#输出:AyanamiRei is my love,and she is 16 years old.Her stature is 158.50.
#占位符的使用与scanf函数类似
#.2f保留两位小数输出

python中的进制

a=0xff  #16进制开头0x
b=0b0111 #2进制开头0b
print(a,"=",hex(255)," ",b,"=",bin(7))
#hex()用于将数字转化成16进制的字符串 bin()用于将数字转换成二进制的字符串

列表(list),Python中的列表是十分强大容器,与C/C++中的数组类似,但是要更强大一些。这是由于:

第一,Python中的list允许存在不同类型的数据同时存放,int,float,str都可以存入其中;

第二,Python为列表使用下标包括正向和反向;

P = ["str1", "12", "55.24", "h", "o", "n"]
print(P[0],P[-6],len(P))
#输出 str1 str1 6
#可以看到 列表既可以存放不同类型的数据也提供了正反向的序号访问
#len(list)用于计算列表的长度,同时也可以输出字符串返回字符串的长度

python中提供了很多利于操作list的函数

#len()函数,见上文;
#append()函数,用于向列表尾部添加元素
#insert()函数,用于在指定的列表内索引位置插入元素

list=["a","b","c","d"]
list.append(123)   #表示向列表list中尾部添加数字'123'  [a,b,c,d,123]
list.insert(2,'a') #表示向列表list中的序号为2的位置插入字符'abc',其余依次后移[a,b,a,c,d,123]

#依据三种删除方式进行的函数
#del语句     删除任一索引的列表元素
#pop()       弹出列表(stack栈)尾部的元素并且作为返回值,但是同样可以用于删除指定序号的元素
#remove()    删除遇到的第一个指定值的元素

del list[5]     #删除了第六个元素'123'
list.pop()      #删除尾部的元素'd'
x=list.pop(1)   #删除第二元素,并使得x==b
list.remove('a')  #删除第一个遇到的'a'

#此时list的元素为[a,c]

 当然列表也是可以嵌套列表的,Python中的列表更类似于一个普通的变量;

列表的名字绑定(按C/C++来思考就像是允许了两个数组之间的赋值,只是赋的是地址)

a=["1","2","3"]
b=["4","5","6"]
a=b  #在python中这是合法语句,之后a的元素有["4","5","6"]

对列表整体元素的处理

Python中的排序可以用函数sort()和sorted()来实现

list1 = ["b", "a", "d", "c"]
list2 = ["4", "2", "3", "1"]

list2.sort()             #排序函数,按升序自动排序,字符转化为ASCII码
list1.sort()

list1.sort(reverse=True) #加上reverse=True变为降序
list1ed=list1.sorted()   #sorted不会改变原列表的元素顺序,但是会返回一个有序序列

#对于字符串的大小比较按照字符的Unicode码逐一比较
#如果在排序函数()中输入key=len,就可以按字符串长度来排序
#key十分关键,可以指向一个自定义的函数,也就是按用户的想法来排序

list1.reverse()          #reverse()函数将列表的元素倒序一下

for循环遍历

Python通过for实现遍历循环        

#使用方法
#    for<循环变量> in <遍历数据集> :
#        <语句块>
list = ['jack', 5, 4, 3.14, "mary", ["A", "B"]]
for x in list:
    print(x)
#注意,列表中的嵌套列表是作为一个变量来看待,print的时候也应该看成一个变量

整数列表range(x,y,z)

# python 中的 range()函数可以用于创建一个“整数列表”
# 比较简单的range()函数形式有range(x,y),生成一个[x,y)区间内的整数列表
# 注意:range(x)是range(0,x)的简略写法
num = range(5)
for x in num:
    print(x)
# 在解释器内部range(x,y)并不是一个严格意义上的列表,而是一共被称为range的不常用数据类型
print(num)  # 输出的是range(0,5)而不是01234
# 如果需要的话可以强制转换成列表
num = list(num)
print(num)
# 此时print(num)输出[0, 1, 2, 3, 4]
# range()函数的完整参数应该有3个(x,y,z)  z表示相邻元素间的差
num = range(0, 5, 2)
num = list(num)
print(num)
# 此时print(num)输出的则是[0, 2, 4],可以看见每个元素差为2
# 需要注意的是,range(x,y,z),输出的数字都会小于y大于等于x(或者说小于等于x大于y)
range(0, 17, 4)  # 包含了[0,4,8,12,16]
range(9, 2, -2)  # 包含了[9,7,5,3]

列表统计函数

score=[60,75,81,77,92,85]
print(sum(score))   #sum()返回list中元素之和
print(max(score))   #max()返回list中最大值
print(min(score))   #min()返回list中最小值
#需要注意在使用sum()的时候,不能同时出现浮点数和字符串,也就是二者不能相加

列表快速生成

cubes = [x**3+100 for x in range(1, 11)]  # 获得1-10每个数的三次方+100的值
print(cubes)
# 输出[101, 108, 127, 164, 225, 316, 443, 612, 829, 1100]
num1 = [x*x for x in range(10) if x % 3 == 0]  # 搭配if语句来使用
print(num1)
# 输出[0, 9, 36, 81]
num2 = [x+y for x in "123" for y in "456"]
print(num2)
# 输出['14', '15', '16', '24', '25', '26', '34', '35', '36']

列表运算

#列表+列表等于两个列表拼接
#列表*n表示生成一个新列表,其中原列表的元素重复了n次
#字符串*n,与列表*n同理

切片

#切片的完整形式是 number[x:y:z],与range类似的理解xyz
#切片的实施步骤有以下两个
#            1、将给定的xy转换为正数下标,若xy为负数,则转化为len(number)-x(y)
#            2、为缺省的参数赋默认值(特别注意),z缺省为1
#
#
#    z>0时,x缺省为0,y缺省为len(number),即会自动补完所有的列表元素
#    z<0时,表示切片的方向是从右往左,x缺省为len(number)-1,y则默认为-1(数组从0开始)
#
#
#
#切片的一些用法:
#number[:]相当于number.copy(),返回一个新的列表
#number[::-1]从后往前,相当于不改变原列表且返回新列表的number.reverse()
#number[3:5]=[77,88] 等价于赋值number[3] = 77和number[4] = 88
#number[3:5]=[]  相当于把number[3]和number[4]这两个元素给删除
#number[3:5]=[77,88,99]在赋值的基础上再往列表中新添加了一个元素在77,88后面

集合

#集合必须满足以下三个条件
#     1、集合内不允许有重复的元素
#     2、集合内的元素是无序的,不分前后循序。
#     3、集合内的元素必须是可哈希类型(不变的数据类型,不能是列表字典或者集合),这些对象一般只 
#        可读
#
#
#
#
#
#
#
#
#
#
#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RefrainC.C.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值