Python基础学习

1.编程规范

1.1注释代码

注释一行在该行前加#

注释多行有两种方法

法1:'''注释代码部分'''

法2:"""注释代码部分"""

这是因为Python是不区分 " 和 ' 的

1.2程序块

在C语言中用{代码块}来区分的

在Python中用是否对齐来判别是不是一个块

1.3语句换行

语句太长需要换行,在程序末尾加上        \

1.4运算符

比较运算符与C相同

逻辑运算符: and(与) or(或)  not(非)

1.5导库

Python是面向对象的编程很多函数是不需要我们来写的,想使用提供的函数,就得导入库或者函数

1.5.1导入整个库

import    库名

1.5.2导入库中的函数

导入库中一个函数

from 库名 import 函数

导入库中多个函数

​from 库名 import 函数1,函数2,函数3

1.5.3导入整个库的函数

​from 库名 import*

1.5.4给库改名

import 库名 as 新库名

2.语句

2.1判断语句

2.1.1if

if 条件:
    if执行语句

2.1.2if   else

if 条件:
    if执行语句
else:
    else执行语句

2.1.3if   elif    else

if 条件:
    if执行语句
elif 条件:
    elif执行语句
else:
    else执行语句

2.2while循环语句

2.2.1while

while 循环条件:
    循环执行

2.2.2while else

while 循环条件:
    循环执行
else:
    循环条件不成立执行

实例: 

 在循环执行过程中执行了break:

2.3for循环语句

2.3.1for

for 目标 in 源:
    for遍历执行语句

迭代:

for num in range(10,20)#迭代10到20之间的数也就是循环了11次

2.3.2for else

​
for 目标 in 源:
    for遍历执行语句
else:
    for正常退出会执行

​

与while  else循环 相同如果正常退出执行else,break退出不执行else。

for循环一般不作为循环功能使用,一般用于遍历某个变量

2.4循环嵌套

结合C用法是相同的。

2.5循环控制语句

break 结束循环

continue 结束本次循环执行下一次循环

pass 空语句,用于结构完整性

3.变量

3.1查看变量的类型

3.2数值类型

int,longinteger,float,复数类型

3.2.1类型转换

int(x)->将x转换为整型

float(x)->将x转换为浮点型

str(x)->将x转换为字符型

Python还提供了转换相关的函数供使用

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个 (key, value)元组序列。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

3.2.2数学常量

pi->圆周率

e->数学常量e

3.3字符串

3.3.1访问字符串中的值

[ n ]->访问第n个

[n : m]->访问从第n个到第m-1个,左闭右开

in ->判断变量中是否含有该该变量,可以查看字符串,列表,元组等等

str1 = "hello"
if "h" in str1:
    print("yes")
list1 = [1.2, 'hehe', 6]
if 1.2 in list1:
list1 = (1.2, 'hehe', 6)
if 1.2 in list1:

not in->和in用法相同

r/R->打印原始字符,打印\n会需要

print(r"hello\n")#不会换行,而是将\n以字符的形式打印

3.3.2字符串格式化

与C不同的是  ,变成%

print("%s  %d"%("hehe",6))

3.4列表

3.4.1列表可以放任何类型的数据

list1 = [1.2, 'hehe', 6]
list2 = [4,5]
list1 = [1.2, 'hehe', 6, list2]
print(list1[3][0])//有点二维数组的感觉
输出结果为:4

3.4.2列表索引用

与字符串类似

 3.4.3列表切片

与字符串类似

3.4.4列表添加新的元素

list1.append(x)#给链表添加一个x

3.4.5列表删除元素

del list1[n]#删除第n个元素
del list1[n : m]
del list1

 注意删除是左闭右开原则。

3.5元组

元组的操作和列表操作相同

元组内的数据不可修改!

元组的括号是()

两个元组可以用+合并成一个新的元组

删除元组

del 元组

元组运算符

in(判断元组中是否含有)

+(合并元组)

内置函数

这些函数可以用于,字符串,列表,元组

len()->计算长度

max()->找其中的最大值,必须是内部全为同种数据

字符串与数无法比较

min()

taple()->将可带带系列转换为元组

3.6字典

什么是字典?

mydict = {'name':'张三','age':18}#创建一个非空字典

字典是用{},里边含有键值对,键和值用“:”隔开,键值对之间用“,”隔开

所以字典一般用于一个含有多个属性的对象!,一个字典内的键是唯一的不可重复(一个人不可能有两种性别吧)。值可以是任意的数据类型。

3.6.1创建字典

第一种直接创建

mydict = {'name':'张三','age':18}#创建一个非空字典

第二种使用dict()函数创建

mydict = dict()#创建一个空字典


list1 = [("x", 2),('y', 3)]
mydict2 = dict(list1)#创建一个非空字典

3.6.2访问字典里的值

字典[键]->这样我们就得到字典里键对应的值

mydict = {'name': '张三', 'age': 18}
print(mydict["name"])
输出结果:张三

怎样可以得到键里的所有值呢?

mydict = {'name': '张三', 'age': 18}
for x in mydict:
    print(x)

 这个代码是否可以呢?答案是NO,它只是将字典里的键进行遍历,因此我们可以这样操作

mydict = {'name': '张三', 'age': 18}
for x in mydict:
    print(mydict[x])

除了上边的方式遍历Python还提供了内置相关函数供使用 

 3.6.3修改字典相关操作

修改键的值

mydict = {'name': '张三', 'age': 18}
mydict["name"] = "李四"
这样键name对应的值就改为了李四

添加键值对

mydict = {'name': '张三', 'age': 18}
mydict['sex'] = "man"

删除

删除键值对

del mydict['sex']#就可以删除这个键值对

删除字典

del mydict

清空字典

mydict.clear()

查看字典键的个数

len(mydict)

将键对应的值变为符串类型

str(mydict)

查看类型 

 type()

应用例程

for x in mydict:
    print(type(str(mydict[x])))

<class 'str'>
<class 'str'>

进程已结束,退出代码0
for x in mydict:
    print(type(mydict[x]))


<class 'str'>
<class 'int'>

进程已结束,退出代码0

 3.6.4字典内置相关函数

序号    函数及描述
1    [dict.clear()] 删除字典内所有元素
2    [dict.copy()] 返回一个字典的浅复制
3    [dict.fromkeys()]创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4    [dict.get(key, default=None)] 返回指定键的值,如果键不在字典中返回 default 设置的默认值

mydict = {'name': '张三', 'age': 18}
print(mydict.get("name"))

输出:张三


print(mydict.get("name1"))

输出:None

print(mydict.get("name1",'未有这个键'))

输出:未有这个键

5    [key in dict] 如果键在字典dict里返回true,否则返回false
6    [dict.items()] 以列表返回一个视图对象

print(mydict.items())

输出:dict_items([('name', '张三'), ('age', 18)])

for key, value in mydict.items():
    print(key, value)
输出:name 张三
      age 18


7    [dict.keys()]返回一个视图对象

print(mydict.keys())

输出:dict_keys(['name', 'age'])

for key in mydict.keys():
    print(key)
输出:name
      age

8    [dict.setdefault(key, default=None)] 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9     [dict.update(dict2)]把字典dict2的键/值对更新到dict里

mydict1 = {'name': '张三', 'age': 18}
mydict2 = {'name': '张三', 'school': 'haha'}
mydict1.update(mydict2)
print(mydict1)



{'name': '张三', 'age': 18, 'school': 'haha'}

进程已结束,退出代码0

已经含有的不会重,没有的会载入。 
10    [dict.values()] 返回一个视图对象

print(mydict.values())

输出:dict_values(['张三', 18])

11    [pop(key[,default])]l) 删除字典 key(键)所对应的值,返回被删除的值。
12    [popitem()] 返回并删除字典中的最后一对键和值。

3.7集合

集合(set)是一个无序不重复元素序列用{}括起来,与字典不同的是空集合的创建只能用函数set()来创建,这是为了避免与空字典创建时产生冲突

3.7.1集合创建

set创建错误用法

fruit2 = set("apple2","banana2","orange2")#错误写法

正确用法:

fruit1 = {"apple1", "banana1", "orange1"}
fruit2 = set("apple2""banana2""orange2")
print(fruit1)
print(fruit2)

{'apple1', 'orange1', 'banana1'}
{'r', 'b', 'l', 'n', 'o', 'a', 'e', '2', 'g', 'p'}


进程已结束,退出代码0

 根据输出结果我们发现

1:set()创建他是不重复的,并且是无序的。

2:set()创建只能是多个字符,或者一个数字。()里面是不能带,的

3.7.2集合运算

集合A-集合B

集合A|集合B

集合A&集合B

集合A^集合B->集合AB不同时含有的元素

就是数学里的集合关系。

3.7.3集合的基本操作

添加元素

第一种:add()

fruit1 = {"apple1", "banana1", "orange1"}
fruit1.add("pear")



{'apple1', 'pear', 'orange1', 'banana1'}
第二种:update()

fruit1 = {"apple1", "banana1", "orange1"}
fruit1.update("pear")


{'banana1', 'p', 'r', 'e', 'apple1', 'a', 'orange1'}

 观察两种方式就可以知道他们的区别是什么。

移除元素

方法1:remove()

fruit1 = {"apple1", "banana1", "orange1"}
fruit1.remove("apple1")
print(fruit1)

{'orange1', 'banana1'}
fruit1 = {"apple1", "banana1", "orange1"}
fruit1.remove("pear")

KeyError: 'pear'

 只能移除已有的,移除未有的直接报错

方法2:discard()

fruit1 = {"apple1", "banana1", "orange1"}
fruit1.discard("pear")

{'orange1', 'apple1', 'banana1'}

 有就移除,没有也不会报错

方法3:pop()

fruit1 = {"apple1", "banana1", "orange1"}
fruit1.pop()

{'banana1', 'orange1'}

每次运行可能结果都不同,随机删除集合一个元素 

计算集合元素个数

print(len(fruit1))

清空集合

fruit1.clear()

判断元素集合是否含有

print('a' in fruit2)

3.7.4集合内置函数


方法    描述
[add()]    为集合添加元素
[clear()]    移除集合中的所有元素
[copy()]    拷贝一个集合
[difference()]    返回多个集合的差集
[difference_update()]    移除集合中的元素,该元素在指定的集合也存在。
[discard()]    删除集合中指定的元素
[intersection()]    返回集合的交集
[intersection_update()]    返回集合的交集。
[isdisjoint()]    判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
[issubset()]    判断指定集合是否为该方法参数集合的子集。
[issuperset()]    判断该方法的参数集合是否为指定集合的子集
[pop()]    随机移除元素
[remove()]    移除指定元素
[symmetric_difference()]    返回两个集合中不重复的元素集合。
[symmetric_difference_update()]symmetric_difference_update.html)    移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
[union()]    返回两个集合的并集
[update()]    给集合添加元素

                        

  • 30
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值