Python学习第二天

python基础

python概述

  • 计算机语言
  • 语言:交流的工具,沟通的媒介
  • 计算语言:人和计算机沟通的工具,人和计算机沟通的翻译官
  • Python是计算机语言的一种
  • Python编程语言
  • 代码:人类的语言,通过代码命令计算机,和计算机交流
  • Python解释器:就是担任翻译官的角色
    • 流程:
    • 写代码:程序员
    • 执行:由翻译官(Python解释器)把命令(Code)翻译给机器,同时把机器语言翻译给我们
    • Python读音问题:分为美式英语和英式英语
    • Python简史
      • 1989年,Cuido van Rossum
      • 2008年:Python 3.0 诞生
      • 2014年:宣布 2.7支持到2020年
      • 2017年:AI崛起,Python崛起
    • Python特点
      • 速度问题,开发速度快,但是运行速度要比Java和C语言慢
      • Python和其他语言的选择问题
    • Python运用领域
      • 全能语言:AI、数据分析、WEB、人工智能、脚本、运维、自动化测试

代码的作用

1、给人看

2、给机器看

注释是纯给人看的

`print("hello world") #打印出hello world 出来
"""
块级注释
可以多行注释
"""`

注释

  • 机器不去执行注释内容
  • 注释一般用自然语言书写
  • 注释的写法
    • 行注释: 以#号开头,可以单独执行,也可以在某行代码后面
    • 块注释:好几行代码或者内容,以单个连续的单引号或者双引号开始和结束,中间任何内容全部被编译器都忽略

变量

  • 程序 = 数据结构+算法

  • 变量就是可以重复只用的一个量,或者一个代号

  • 变量命名的规则

    • 变量命名可以包含数字,大小写字母,下划线或者更多,但是我们不推荐除了前三种内容之外的符号
    • 数字开头的不可以
      • 4man, 5for是不可以的
    • 一般在Python中,以下划线开头的内容具有特殊特殊含义,不建议使用
      • 比如 _age, _name, 理论是可以的,但是强烈不推荐,包括但不限于一个下划线开头和两个连续下划线开头的
    • 大小写代表的不一样,俗称大小写不敏感
      • ForMan 跟 forMan不是一个变量名称
    • 推荐:
      • 使用具有固定含义的英文单词活着缩写, srv = server skt = socket, 一般以posix命名规则为主
      • 驼峰命名规则
        • 名称一单词自动连接,且每个单词首字母大写
          • 大驼峰,每个单词第一个字母均大写
            • 在Python中给类命名
            • MyFirstLove, IntOne
          • 小驼峰,类似大驼峰,但是第一个字母小写
            • 在Python中一般给普通变量或者函数命名
            • myFirstLove , intOne
          • posix写法
            • 多个单词用下划线链接
            • 单词全部小写
            • my_first_love, int_one
            • 一般推荐使用这种写法
      • 保留字和关键字
        • 变量命名必须避开,不能跟关键字和保留字重复
        • class, def, break, for
      • 查看关键字的方法

        import keyword # 引入关键字模块

        打印出系统全部关键字

        print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

    变量申明

    • 单个变量赋值
    • var_name = var_value
    • = 是赋值操作符
    • 多个变量赋值
    • var1 = var2 = var3 = var_value
    • var1, var2, var3 = v1, v2, v3

    定义多个变量

    age = 18 print(age) print(18)

    18 18

    给age1, age2, age3 放入同样一个内容或者值

    age1 = age2 = age3 = 18 print(age1) print(age2) print(age3)

    18 18 18

    给一行内多个变量赋值

    age4, age5, age6 = 12, 16, 20 print(age4) print(age5) print(age6)

    12 16 20

    变量类型

    • 严格意义上讲,Python只有一个类型
    • 标准数据一共六种
      • 数字类型Number
      • 字符串类型str
      • 列表list
      • 元祖tuple
      • 字典Dictionary
      • 集合set

    Number 数字类型

    • 数字类型没有大小长度限制,限制的是计算机的内存大小

    整数

    • 没有小数部分,表示个数的数字
    • 自然数,0,负自然数
    • 整数分进制 - 二进制
      • 逢二进一
      • 计算机常用
      • 是目前计算机唯一能直接理解的数字
      • 表示为0b开头的0,1代码
      • 例如 0b01101,0b10001 - 八进制
      • 逢八进一
      • 不常用
      • 以0o开头,包含0-7的数字 - 十六进制
      • 逢十六进一
      • 其实是每四位二进制表示一位十六进制数
      • 包含 0-9,a-f
      • 数字以上以0x开头表示 - 十进制
      • 18, 8 ,178
    # 十进制
    age = 18
    print(age)
    
    # 二进制
    age = 0b10010
    print(age)
    
    # 八进制
    age = 0o22    
    print(age)
    
    # 十六进制ff表示二进制的1111 1111
    age = 0xff
    age = 0x12
    
    18
    18
    

    浮点数

    • 小数
      • 计算机里面表示浮点数可以有条件省略
      • 3.1415
      • 3.0 3. 0.5 .5
    • 科学计数法
      • 定义和数学定义
      • 写法是用e/E后面跟整数,表示10的指数
      • 176.34 = 1.7634e2
      • 0.876 = 8.76e-1

    height = 156.34 print(height)

    shili = 0.2 print(0.2)

    shili = .5 print(shili)

    负数complex

    • 定义同数学一致
    • 一个由实部和虚部构成的数字
    • 虚部用 j/J 表示
    • 5+3j 实部和虚部
    • 3j 直接由虚部构成

    布尔值

    • 表示真或者假
    • True/False 首字母一定大写,假用0表示,真用1表示
    • 布尔值可以直接和数字操作

    布尔值操作

    age = 18 + True print(age)

    19

    字符串

    • 用来表示遗传文字信息
    • 如何表示
      • 单引号、双引号

	love = "I love woke"
	print(love)

	love = '我爱工作'
	print(love)
	# 单双引号可以交错使用的例子
	# <a style = "color:red"> 哈哈哈<a></a>
	# 用单引号表示上面的字符串
	html = '<a style = "color:red"> 哈哈哈<a></a>'
	print(html)

	# 多行字符串
	htmls = '''
	我爱工作
	I love woke
	html = '<a style = "color:red"> 哈哈哈<a></a>'
	'''

	print(htmls)

字符串

  • 转移字符
  • 格式化
  • 内建函数(后延)

转义字符

  • 用一个特殊的方法表示出一系列不方便书写内容,比如回车键,换行键,退格键
  • 借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个或者多个字符表示已经不是原来的意思了,进行了转义
  • 在字符串中,一旦出现反斜杠就要加倍小心了,可能有转义符出现
  • 在不同系统对换行符操作有不同的表示
    • Windows: \n
    • Linux : \r\n

如果想表示出Let's go

1、可以使用嵌套引号,及外层使用双引号

2、转义字符


 s = "Let's go"
 print(s)

 # \' = '
 s = 'Let\'s go'
 print(s)
 
 # \\ = \
 ss = "c:\\user"
 print(ss)

\r 回车 \n 换行

字符串的格式化

  • 把字符串按照一定格式打印或者填充
  • 格式化字符串由两种方法
    • 利用百分号(%)
    • 利用format函数

s = "xxx 您好,我们蒲公英课堂开课啦~~"

利用百分号格式化

  • 在字符串中,利用%好表示一个特殊的含义,表示对字符串进行格式化
  • %s 可以占位任何参数,但是会强制转换为字符串
  • %d 只能占位整数
  • %r 只能占位浮点
  • %a 可以占位字符串,但是不支持中文
print("%s 哈哈哈 %d 呵呵呵 %r 嘿嘿嘿 %a 啊啊啊" % (param1, param2, param3, param4))


s = "我是%s"
print(s)

我是%s

print("我是%s" %"大懒")

我是大懒

s = "I am %d years old"
print(a)
print(a%18)

I am 18 years old

s1 = "I am %s,i am %d years old"
print(s1)
print(s1%"dalan")  # 按照顺序替换,此处这样替换会报错
# 如果字符换中有占位符,要么全部替换,或者一个也不要
print(s1%("dalan", 18))

I am dalan,i am 18 years old

使用format函数进行格式化字符串

  • 直接用format函数进行格式化
  • 推荐使用这种方法
  • 在使用上,以{}和:代替%,后面用format带参数完成
 s = "I am {} years old".format(18)
 print(s)

从0开始,增加

 s = "我爱{0},我今年{1}岁,{0}使我快乐,我是一个快乐的{2}".format("学习", 18, "程序员")
 print(s)

 我爱工作,我今年18岁,工作使我快乐

None 空

  • 表示什么都没有
  • 如果函数没有返回值,可以返回 None
  • 用来占位
  • 用来解除变量的绑定

表达式

  • 用一个或者几个数字或者变量和运算符组成的一段代码
  • 通常会返回一个结果

运算符

  • 由一个以上的值经过变化得到新值的过程就叫运算
  • 用于运算的符号就叫做运算符
  • 运算符分类
    • 算术运算符
    • 比较运算符或者关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算
    • 成员运算符
    • 身份运算符

算术运算符

  • 进行算数运算的符号
  • Python运算符里面没有自增自减
# +, -和正常运算符一模一样
a = 9 + 3 -2
print(a)

10


# 乘号运算符用(*)代替
a = 9 * 4
print(a)

36

# 除号用(/)代替
# 在Python2.x 和Python3.x 中不一样,除号(/)结果可能不一致,此处以Python3.x 为准
a = 9 / 4
print(a)

2.25

# % 取余运算
# 两个数字相除应该有商数有余数
# % 只会得到余数
a = 9 % 4
print(a)

1

# //取整,表示取商运算,也叫地板除
a = 9 // 4
print(a)

2

# ** 表示幂运算
# 次方
a = 9 ** 4   
print(a)

6561


## 比较运算符
 - 对两个变量或者值进行比较的运算符
 - 比较的结果是布尔值,即 True/False


# == 两个等于号
a = 3 ** 4
# 下面语句执行顺序是
# 1,计算 a == 80
# 2,把结果赋值给b
b = a == 80
print(b)


False

# != 不等于

print(9 != 8)

True

# > 大于
# < 小于
# >= 大于等于
# <= 小于等于

## 赋值运算符

# = 赋值
a = 4
s = c = d = 10

# += 是缩写
a = 10
a += 7   # a = a + 7 的缩写
print(a)

# 所有的数学运算符都有缩写形式
# -= ,  *= , /= , //= , %= , **= 都是缩写形式

逻辑运算符

  • 对布尔值进行计算的符号

    • and 逻辑与
    • or 逻辑与
    • not 逻辑非
    • 在Python中逻辑运算符没有异或运算
  • 运算规则

    • and 看做乘法 or 看做加法
    • True 看做 1 False 看做 0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是 0 则为 False 否则为 True
  • 逻辑运算符的短路问题

    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回

    逻辑运算的短路实例

    下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算

    a = True or xxxxxxxxx # 因为True已经是1,+任何都是大于0,逻辑运算不存在负数,所以后面的值计算机不会在关注,返回的值肯定是True了

    注意在xxxxxxxx的表达式在括弧内True的值为0,计算后的值肯定是0,所以不需要再往后继续了

    a = False and (xxxxxxxx)


 	# 下面表达式,如果xxx中包含赋值表达式,则结果很难预料
 	# 代码示例(伪代码)   伪代码:不能运行的代码,只是为了表达对应的意思
 	b = 0
 	a = a or (b = 9) and 6
 	# 假定上面的表达式如果没有语法错误
 	# 则b最终的值应该是0 而不是9
 	print(a)
 	print(b)
# 逻辑运算符案例
a = True
b = False
c = True


# 以下式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d)


d = a or b and a
print(d)

成员运算符

  • 用来检测某一个变量是否是另外一个变量的成员
    • in
    • not in
 # 成员案例
 l = [1, 2, 3, 4, 5]
 a = 7
 b = a in l
 print(b)

 a = 4
 print(a in l)
 print(a not in l)

身份运算符

  • is 用来检测两个变量是否是同一个变量,用来比较两个变量是否指向同一个内存地址
    • 语法是 var1 is var2
  • is not 两个变量不是同一个变量
 # 身份运算符案例
 a = 9
 b = 9
 print(a is b)

 print(a is not b)

运算符的优先级问题

  • 永远记住,括号具有最高优先级

程序结构

  • 顺序
  • 分支
  • 循环

转载于:https://my.oschina.net/u/4000688/blog/2980890

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值