变量和简单的数据类型

回到首页☞

1、变量

"""
--JDIT
--变量学习

"""
message = "我爱你中国!"
print(message)
message = "生当作人杰"
print(message)

message变量的定义和使用和java非常不同,直接赋值,同一作用域还不报错。

2.1、变量的定义

变量存储在内存中的值,使用前必须赋值,只有在赋值后才会被创建
使用 等号(=) 给变量赋值;等号(=) 左边是变量名,等号(=) 右边是变量值:如示例中message

2.2、变量的命名

  • 变量名只能包含字母、数字或下划线。但不能以数字打头
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词
  • 变量名要简洁且具有描述性
  • 慎用小写字母l和大写字母O,容易和数字1和0混淆
  • 不要将Python关键字和函数名用作变量名
  • 变量名区分大小写
  • 变量名命名风格:官方Python代码风格或驼峰形式
"""
--JDIT
--变量学习

"""
import keyword

# 输出:Python关键字列表
print(keyword.kwlist)

2.3、来个异常

计算机高级语言相对来说都非常简单,找我一门语言需要如下基本要素:
1、语法
2、异常
3、外部库
4、开发和运行架构或者环境。
说白了,制作好三件事:
1、非常顺畅的理解他,它是什么?它有什么功能。
2、非常契合的使用它,按照它的风格使用它的功能。
3、发脾气的时候哄好它,它会出现那些异常,怎么精准快速定位,并且处理。

"""
--JDIT
--变量学习

"""
import keyword

# 输出:Python关键字列表
print(keyword.kwlist)

输出结果:

Traceback (most recent call last):
  File "F:/workspace/py/HelloWorld/HelloWorld.py", line 9, in <module>
    print(keywords.kwlist)
NameError: name 'keywords' is not defined

  • Traceback 该模块提供了一个标准接口来提取,格式化和打印Python程序的堆栈跟踪。它完全模仿Python解释器在打印堆栈跟踪时的行为。当您想要在程序控制下打印堆栈跟踪时,这很有用。
  • line 9:快速定位: CRTL+G 直接找到
  • NameError:错误类型,哥,你使用的变量名字错误了,没有找到这个变量,检查下拼写把。

在这里插入图片描述
python的数据类型和Java还是很不一样的,逐一认识下。

2、字符串

这个数据类型很重要,一切看到的文本都是字符串。

2.1、使用方法修改字符串的大小写

name = "tim"
# title()以首字母大写的方式显示每个单词,即每个单词的首字母都改成大写
print(name.title())
# upper()将字符串全部转换为大写
print(name.upper())
# lower()将字符串全部转换为小写
print(name.lower())

2.2、拼接字符串

用 “+” 来拼接字符串

用 “\t , \n” 来空格和换行

name = "tim"
print(name.title() + '你好\n' + "\t请你来下");

out:
Tim你好
请你来下
比java 自由的点在于,字符串可以使用半角双引号或者单引号。

2.3、删除空白

rstrip() 删除末尾的空白

lstrip()删除头部的空白

strip()删除字符串两边的空白

msg = ' python '
print(msg.rstrip() + "学习")
print(msg.lstrip() + "学习")
print(msg.strip() + "学习")

2.4、使用字符串避免语法错误

单引号与单引号是一对

双引号与双引号是一对

使用函数str() 避免类型错误

name = ' Tom '
age = 32
print(name + age )

Traceback (most recent call last):
File “F:/workspace/py/HelloWorld/Test.py”, line 3, in
print(name + age )
TypeError: must be str, not int
报错了这里真的和Java不一样,java使用+自动toString,python要强转才行,正确写法如下

name = ' Tom '
age = 32
print(name + age )

2.5、print语句

python2 直接打印,python3 print() 作为一个函数使用,必须有()

3、数字

3.1、整数

# 可对整数执行加(+)减(-)乘(*)除(/)运算
print(2 + 4)
print(9 - 1)
print(2 * 4)
print(4 / 3)
# 乘方运算
print(3 ** 2)


out:
6
8
8
1.3333333333333333
9

3.2、浮点数

# 浮点数:带小数点的数
print(0.1 + 0.1)
print(0.2 + 0.2)
print(2 * 0.1)
print(0.2 + 0.1)  # 0.30000000000000004
print(3 * 0.1)  # 0.30000000000000004

out:
0.2
0.4
0.2
0.30000000000000004
0.30000000000000004
这是由计算机原理造成的问题,浮点数表示在计算机语言中都存在这个问题。

特别说明下:python 2,3/2=1,只保留整数部分。

4、初识函数

4.1、print()和pprint()

print():将括号内的字符串显示在屏幕上

格式:print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

  • value:字符串

  • sep=’’:参数之间打印用什么来分隔

  • file:指定的文本流

  • flush:刷新设置

pprint():完美打印,打印出来的数据结构更加完整

class pprint.PrettyPrinter(indent=1,width=80,depth=None, stream=None)

创建一个PrettyPrinter对象

indent --- 缩进,width --- 一行最大宽度,

depth --- 打印的深度,这个主要是针对一些可递归的对象,如果超出指定depth,其余的用"..."代替。

             eg: a=[1,2,[3,4,],5]  a的深度就是2; b=[1,2,[3,4,[5,6]],7,8] b的深度就是3

stream ---指输出流对象,如果stream=None,那么输出流对象默认是sys.stdout
  • pprint.pformat(object,indent=1,width=80, depth=None)

    返回格式化的对象字符串

  • pprint.pprint(object,stream=None,indent=1, width=80, depth=None)

    输出格式的对象字符串到指定的stream,最后以换行符结束。

  • pprint.isreadable(object)

    判断对象object的字符串对象是否可读

  • pprint.isrecursive(object)

    判断对象是否需要递归的表示

    eg: pprint.isrecursive(a) —>False

      pprint.isrecursive([1,2,3])-->True
    
  • pprint.saferepr(object)

    返回一个对象字符串,对象中的子对象如果是可递归的,都被替换成.这种形式。

4.2、str()、int()、float()

类型转换:分别求值为传入值的字符串、整数和浮点数形式

4.3、input()

函数等待用户在键盘上输入一些文本。

myName = input()
print('It is good to meet you, ’ + myName)

4.4、len()

向函数传递一个字符串,返回该函数求值的一个整数值,即字符串的个数

print("The length of your name is: ")
print(len(myName))

5、注释

编程语言注释是非常重要的,决定了系统的可维护性,高手的注释基本都是艺术品,简练美观,可以参考中国IT大佬雷军的代码注释。

5.1、单行注释:

# 注释内容

5.2、多行注释

  • 首位三对单引号:’’’ 注释内容 ‘’’

  • 首位三对双引号:""" 注释内容 “”"

  • 多行行首使用#:

5.3、特殊注释

  • #!/usr/bin/python、#!/usr/bin/env python:主要和运行模式有关

#!/usr/bin/python:告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器

#!/usr/bin/env python:这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。这种写法会去环境设置寻找python目录,推荐这种写法

  • encoding=utf-8:中文支持,用来指定文件编码为utf-8

6、python之蝉

对于学习python的人来说基本不是新人了,都是有过几种语言的玩家。
python核心是简洁之美,但是我们必须要想到避繁就简的背后肯定有程序帮人做了很多事情,性能也会新的问题。现在初步学习python,也可以明白java的痛点是繁杂的定义,90%无效代码的痛,加上混乱的生态,繁杂的各种框架,也许python就会有自身的优势,让你眼前一亮,当然go语言也会如此。

#!/usr/bin/env
# encoding=utf-8
'''
- 我的调试专用demo
- create_date:2020-06-01
'''
import this

out:
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea – let’s do more of those!

回到首页☞

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值