欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Python学习笔记】《Python编程:从入门到实践》第二章变量和简单数据类型

时间:2023-05-30

《Python编程:从入门到实践》 是个人觉得非常适合小白入门的一本书。 前面一部分进行了基础知识的讲解,后一部分是三个使用python做的项目。

这篇文章是我个人学习的一个笔记,内容大多来自课本,也有一些是在学习过程中对相关部分搜索后进行的知识补充,非常适合和我一样的小白阅读。
这个系列会随着我日后的学习进度持续更新,希望这个笔记也可以帮到你~

第一章是关于python和这门课用到的文本编辑器 Geany 在不同系统中的配置,并没有知识点,看原书就可以了。

2.2 变量

2.2.1 变量的命名和使用

包含 a-zA-Z1-9_ (字母数字和下划线)(但应尽量避免使用大写字母)不能以数字开头不能使用python关键字或者函数作为变量名(如print)简短且有描述性:

student_name > name_of_student > s_n 避开使用小写L和大写O(容易和0和1 混淆)

2.2 动手试一试

2-1 简单消息:将一条消息存储到变量中,再将其打印出来

# simple_message.pymessage = "hello world"print(message)'''Output:hello world'''

2-2 多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

# simple_messages.pymessage = "hello world"print(message)message = "hello python world"print(message)'''Output:hello worldhello python world"'''

2.3 字符串(String)

双引号和单引号都可以使用

同时使用可以print出引号,如:

>>> print("hello 'my' world")hello 'my' world>>> print('"hello world"')"hello world"

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

首字母大写: title() (只有首字母是大写的,后面如果大写会变为小写,如: aBCd → Abcd全大写: upper()全小写: lower()

>>> name = "ada lovelace" >>> print(name.title())Ada Lovelace>>> print(name.upper())ADA LOVELACE>>> print(name.lower())ada lovelace

2.3.2 合并(拼接)字符串

使用 + 拼接string (必须所有都是string,如果是别的格式,如int,需要先 str(1) 才能拼接)

first_name = "ada" last_name = "lovelace" full_name = first_name + " " + last_name # 拼接>>> print(full_name)ada lovelace>>> print("Hello, " + full_name.title() + "!")Hello, Ada Lovelace!>>> message = "Hello, " + full_name.title() + "!" >>> print(message)Hello, Ada Lovelace!

2.3.3 使用制表符或换行符来添加空白

tab: t换行: n(也可以同时使用)

>>> print("tPython") Python>>> print("Languages:nPython")Languages: Python >>> print("Languages:ntPython")Languages: Python

2.3.4 删除空白

lstrip() 去掉左侧空格rstrip() 去掉右侧空格strip() 去掉两侧空格 (去掉左右全部空格,但不能去掉词与词之间的)

但这个并不会对变量本身做修改,意思是:string 是一个string, string.rstrip() 也是一个string,如果不令 new_string = string.rstrip() 的话, 在调用一次 string.rstrip() 之后再 print(string) 依旧是有空格的所以必须对修改后的string进行存储(可以还存回原来的变量名里)

>>> favorite_language = ' python '>>> favorite_language.rstrip()' python' >>> favorite_language.lstrip()'python ' >>> favorite_language.strip() 'python'

2.3.5 使用字符串时避免语法错误

如果要使用撇号 ' 的话,就避免在定义这个string的时候使用单引号

 也可以使用转义符 ,如 ' 就表示 ' 这个字符本身而不是作为引号存在

如:

string = "This is Tom's book"# 或string = 'This is Tom's book'# 而不是string = 'This is Tom's book'

2.3.6 Python 2 中的 print 语句

>>> python2.7 >>> print "Hello Python 2.7 world!" Hello Python 2.7 world!

2.3 动手试一试

2-3 个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。

name = "Eric"message = "Hello " + name + ", would you like to learn some Python today?"print(message)'''Output:Hello Eric, would you like to learn some Python today?'''

2-4 调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名

 发现 title() 是保证只有首字母是大写,而不是把首字母变成大写

name = "eRic"print("Title: " + name.title()) print("Lower: " + name.lower())print("Upper: " + name.upper())'''Output:Title: EricLower: ericUpper: ERIC'''

2-5 名言:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, “A person who never made a mistake never tried anything new.”

print('Albert Einstein once said, "A person who never made a mistake never tried anything new."')'''Output:Albert Einstein once said, "A person who never made a mistake never tried anything new."'''

2-6 名言 2:重复练习 2-5,但将名人的姓名存储在变量 famous_person 中,再创建要显示的消息,并将其存储在变量 message 中,然后打印这条消息。

famous_person = "Albert Einstein"message = famous_person + ' once said, "A person who never made a mistake never tried anything new."'print(message)'''Output:Albert Einstein once said, "A person who never made a mistake never tried anything new."'''

2-7 剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"t"和"n"各一次。
打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数 lstrip()、rstrip()和 strip()对人名进行处理,并将结果打印出来。

name = " n Eric t "print("lstrip: " + "'" + name.lstrip() + "'")print("rstrip: " + "'" + name.rstrip() + "'")print("strip: " + "'" + name.strip() + "'")'''Output:lstrip: 'Eric 'rstrip: ' Eric'strip: 'Eric''''

2.4 数字

2.4.1 整数

加: +

减: -

乘: *

除: /

在python中, 3/2 = 1.5对比C语言里, 3/2 = 1

模: % (取余数)

乘方: **

括号表示运算顺序

 空格不影响计算,所以加不加空格根据自己的习惯就好

2.1.2 浮点数

float() 可以把整数或string转换为浮点数int() 把浮点数或string转换为整数(取整数位,没有四舍五入)

>>> float(1)1.0>>> float("1.5")1.5>>> float("1") # 对整数string也适用1.0>>> int(1.8)1>>> int("1") # 整数string可以转换1>>> int("1.8") # 如果是小数string用int转换会报错ValueError: invalid literal for int() with base 10: '1.8'>>> int(float("1.8")) # 对于上面的情况可以用float套一下1

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

需要用 str() 把数字变为string后才能拼接

age = 23 message = "Happy " + str(age) + "rd Birthday!" print(message)

2.4 动手试一试

**2-8 数字 8:**编写 4 个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字 8。为使用 print 语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写 4 行类似于下面的代码:

print(5 + 3)

输出应为 4 行,其中每行都只包含数字 8。

print(2 + 6)print(10 - 2)print(2 * 4)print(16 / 2)'''Output:8888.0'''

**2-9 最喜欢的数字:**将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。

favourite_number = 3print("My favourite number is: " + str(3))'''Output:My favourite number is: 3'''

2.5 注释

单行注释: #多行注释: ''' 或 """ (标记开始和结尾,但一定要一致)

2.6 Python之禅(编写优秀Python代码的指导原则)

>>> import thisThe Zen of Python, by Tim PetersBeautiful 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!

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。