python基础课程1(看代码看注释)--基本操作和数据类型

python环境自行安装,建议安装3版本的环境。编辑器可以使用pycharm或者sublime,也可以在线上使用jupyter

import this #函数存在于模块中,我们需要先引用这个模块才能使用这个模块里的函数
print('hello,world')#单引号
print("hello,world")#双引号
print('hello,\'world')#合理使用单引号避免转义字符的使用,减少代码的丑陋程度(在单引号里使用单引号,在双引号里使用双引号)
#1.将python当成是计算器使用,从计算器开始
5 + 100
1 / 100 # 除数
10.0
100 * 10
100 - 99
100 % 3 # %取余数
100 ** 3 #10的3次方
10 **(1/3)#10开3次方
#完成更复杂的数学运算时要用到数学模块math
import math
math.pi
math.sin(math.pi/2)#sin(90du)pi=180度
math.floor(9.2343)#向下取整,小数点后边都不要了,就是9
math.ceil(9.3645)#向上取整,就是10
round(100/3,3)#round保留有效位数字函数,这里表示保留3位有效数字
#练习:女神取买水果,苹果是5元/斤,葡萄15元/斤。女神买了2斤苹果,1.5斤葡萄。请问女神买苹果和葡萄分别花了多少钱,一共花费了多少钱?
#苹果的花费
print(5*2)
#葡萄的花费
print(15*1.5)
#总共花费
print(5*2+15*1.5)
#1.存在的问题,脱离了题干我们无法知道数字含义;2.重复计算;3.表达不清晰(使用拼接的函数format())
#5是单价,15也是单价,我们把5赋值给apple_price表示,用grape_pricr表示15葡萄的单价
apple_price = 5
apple_weight = 2
apple_cost = apple_price * apple_weight

grape_price = 15
grape_weight = 1.5
grape_cost = grape_price * grape_weight

total_cost = apple_cost +grape_cost

print(apple_cost,grape_cost,total_cost)

#format函数增强的格式化字符串函数format,对输出进行优化,例如输出解释性函数:苹果的花费为:{};葡萄的花费为:{};总共花费为:{};
print("苹果的花费为:{};葡萄的花费为:{};总花费为:{}".format(apple_cost,grape_cost,total_cost))#format里边的值依次替换了大括号里的值。format函数只认花括号

#变量:代表某个值的名称,如上边题目的apple_price,若变量没有赋值就拿来使用的话会报错,在使用变量时必须要先赋值才能被使用
#语法糖
a = 10
b = 20
a,b = b,a
print("a is{};b is {}".format(a,b))#完成了两个值的替换
#变量的命名规范:1.标识符的第一个字母必须是字母表中的字母(大写或者小写)或者一个下划线;2.标识符的其他部分可以由字母(大写或小写)或者数字或者下划线都可以
abc_127_jskdh = 10
_djgk_18_ = 12
i = 10
__name = 50
name_836 = 50
#不符合的变量命名 73syfu = 560 #字母开头  my name = 50 #空格也是非法字符
#代码规范建议:1.不要使用单字符取名字,很难理解该单字符含义;2.变量名能够清晰地表达变量的意思;3.合理使用字母中间的下划线

##python的变量类型:字符串类型,数值,列表类型list,元组类型tuple,字典类型dict
#变量类型--数值类型
number = 10
number = number +10
number+=10#增值运算
number -=10
number *= 10
number /=10
import math
#乘方,开方
math.pow(3,10)#3**10
3**10
math.floor(10.38947)
math.ceil(10.387)
#度的转换radians()
math.radians(180)#输出了pi
math.sin(math.pi/2)
math.cos(math.pi)
min(10,8346,264,209)#取最大值
max(10.364,374)#取最小值
10 % 3#取模
divmod(10/3,3)#输出(3,1)分别代表的是商和余数
#bool型,真命题假命题,一个True,一个False假呗,主要用在需要条件判断的情况下呗,严格区分大小写
True==1,False==0
#bool类型变量,and运算,or运算,非not运算
print(True and True) #与运算,都为真时才为真
print(True or False)#只要有一个为真时才为真
print(not True)#取反操作
True + 10#不建议这样,这样相加没有意义,不过在元组时有一个特例,在接下来会讲到
##字符串,在后边讲到类时会讲到,在大量调试时使用,着重讲解
#字符串可以用单引号或者双引号,通过单双引号的灵活使用可以避免不必要的字符转义,即\
line = 'hello world'
line = "hello world\""
line = 'hello world\''

line1 = "ni hao"
line2 = "yuping"
print(line1 + line2)#字符串的加法操作
print(line1 * 3)#字符串的乘法操作,会输出三个字符串:"ni hao ni hao ni hao"
#字符串是不可变类型,相当于存储地址是不可以改变的。变量名相当于只是一个指针,可以用python里的id(line2)函数查询
line2 = "shukai"
#返回字符串长度
len(line2)
#返回一个身份的识别符,可以理解为返回一个变量的存储地址
id(line2)

##答疑:主要是对前文的一些回顾,尤其是代码规范上
#字符串切片功能
line = 'huan ying da jia lai kan wo bo ke'
#取前十个字符
line[:10]#切片,取前十个字符,默认序列是从0开始的,字符串是属于一个序列,从0-10依次类推
line[2:20:2]#从第三个字符开始,取到前20个字符,每隔2个字符取一次
line[:-10]#取后十个字符
line[::-1]#取反转字符
line[1]#取单子字符

line.title()#line+.可以看到可操作函数
line.capitalize? #快速查看函数如何使用,在函数后边加问号,返回字符串功能;capitalize功能是对首字符进行大写
line.center(20,'%')#至少接收一个参数,居中作用
line.count('A')#line字符串里的计数函数,就是查找该字符串出现的个数
##字符串首尾判断
line.endswith('aaaa')#是否以我们给定的字符串结尾
line.startswith('hdhdh')#是否以我们给定的字符串开始
line.find('S',3)#寻找line字符串中是否存在S字符,返回字符的下标,不存在返回-1;3表示跳过第3个字符开始查找
line.index('S')#返回字符的下标,不存在时直接报错,这是和find函数的区别
line.upper()#把所有字母变成大写
line.isupper()#判断是不是全部是大写
line.lower()#把所有字母变小写
line.islower()#判断是不是全部是小写
line.istitle()#判断是不是标题格式??
line = '   djhsdj  \n\t'##字符串中存在换行和制表符等
line.strip()##去除两端的空格或者制表符
line.rstrip()#去除左端的空格或者制表符
line.lstrip()#去除右端的空格或者制表符
#同时对字符串的大小写进行转换
line.swapcase()##对大写转换成小写,对小写转换成大写
#函数操作之后不是更改了字符串,单独的字符是不可以进行赋值操作的,上边用到的所有字符串函数都是为我们生成了一个新的字符串,原有的字符串是不变的,只是存储的指针改变了

##列表:可以容纳任意类型的对象,任意数量的对象;重点是列表是可变类型的
variable = []#生成了一个空列表
variable = list() #和上述效果一样,生成了空列表
variable = [1,2,3,4,5,6,'python',[],[100,200]]
variable = []
variable.append(1)
variable.append(2)
variable.append('hgds')#表示列表是可变的,列表长度是可变的,字符串是不可以改变的
variable[0] = 10#在列表的指针为0的位置上的值替换为10,再一次验证是可变的
#python是一种动态类型的语言,一个变量时什么类型,要看程序在运行过程中代表的变量类型是什么
var = 10
type(var)#type函数表示变量的类型
##字符串和列表类型是可以相通的,例如切片操作等
variable[:10]
variable+variable
#学习到字符串时对字符串的操作在列表里也可以使用,这里可以用的那也会用,我们统称之为序列
##列表是一种容器型的序列,可以容纳多种类型;字符串是扁平型的序列,变量值决定了这个变量的类型
#append()函数没有返回值,而是修改了我们列表的对象
variable.append(1)#增加了1
#清空
variable.clear()
#copy函数
new_variable = variable.copy()##输出上是没有区别的,当我更该了new_variable的值时,会发现variable的值也被改变了,说明了两个列表的赋值影响是一回事
id(new_variable),id(variable)##发现地址是指向同一个地址,改变指针的元素时地址不变只是改变了内部的一个值,因此一变则全变
[1,2]+[2,3]
a=[1,2]
b=[3,4]
a.extend(b)#在a中插入b,更改了a的长度
a.insert(0,100)##添加元素操作,append()函数是在末尾添加元素,insert()函数是指定位置进行添加;在第0个位置添加元素100
a.pop(0)##将第0个位置的值弹掉,没有给传递参数就弹掉最后一个
a.remove(0)##移除元素操作,要移除的元素不存在就报错
a.sort(reversed=True)##排序函数;reverse=True反转函数

##元组:不可变的列表,元组也是一个序列,但是是不可变的;除此之外不具备上述的广泛操作,基本不可变,只有count()和index()两个工具
var = tuple()
var = ()
type(var)
var = (1,2,3,[1,2,3])
var.count(1)##找1出现的次数
var.index(2)#找索引为2的元素

##字典类型(同学们自己区分字符串和列表以及元组和字典的区别)一个字对应一个页码,叫做映射,在python里叫做字典
#空字典
var = {}
var = dict()
type(var)
words = {
    '中':100,
    '国':200
}
var{'中'}
location = {100,200}
location(words.index('中'))
#拉锁函数,将一个列表拉成2个列表
new_var = list(zip(words,location))#输出['中','国'][100,200]
dict(new_var)##列表转化为字典使用dict()函数
list(zip([1,2],[3,4,5],[4,5,5]))
##生成一个字典
students = {'li' 'wang','sun','huang','zhao'}
money = dict.fromkeys(students,10)#每个同学给定了一个元素对象初始值
##如何访问字典中的值
money('kid')##访问不存在的值报错
a = money.get('ww','100')#找不到返回空,如果给赋值了找不到可以给你返回赋予的值
money.keys()#返回键
money.items()#返回值
money.pop('wang')#删除操作
money['wang'] = 100#可以赋值,不存在的值时不可以访问的
money.setdefault('haha',1000)#赋值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值