python基础学习之一

文章目录

      • 2 变量与简单数据类型
        • 2.1 变量的命名和使用
        • 2.2 字符串
          • 2.2.1 修改字符串大小写
          • 2.2.2 拼接字符串
          • 2.2.3 使用制表符或者换行符添加空白
        • 2.3 数字
          • 2.3.1 使用函数 str() 避免类型错误
      • python之禅
      • 3 列表
        • 3.1 什么是列表
          • 3.1.1 列表操作
      • 4 类与对象
        • 4.1 定义和使用类
        • 4.2 继承
          • 4.2.1 子类的方法 __init__()
          • 4.2.2 子类添加额外的属性
          • 4.2.3 重写父类方法
        • 4.3 导入类
      • 5 文件操作
        • 5.1 读取整个文件

2 变量与简单数据类型

2.1 变量的命名和使用

变量名命名规则:

  1. 变量名只能包含字母数字下划线
  2. 变量名只能以字母和下划线开头。
  3. 变量名不能包含空格,但可使用下划线来分隔其中的单词。

2.2 字符串

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,
也可以是双引号,

这种灵活性让你能够在字符串中包含引号和撇号:

'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community."
2.2.1 修改字符串大小写

使用 str.title()首字母大写的方式显示每个单词

name = "ada lovelace"
print(name.title())
name = "Ada Lovelace"
print(name.upper())		# 全部转换大写
print(name.lower())		# 全部转换小写
2.2.2 拼接字符串

Python使用加号( + )来合并字符串。

first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)	# 输出ada lovelace
2.2.3 使用制表符或者换行符添加空白

\t制表符,\n换行

print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
	Python
	C
	JavaScript

2.3 数字

2.3.1 使用函数 str() 避免类型错误
age = 23
message = "Happy " + age + "rd Birthday!"
print(message)

报错

Traceback (most recent call last):
File "birthday.py", line 2, in 
message = "Happy " + age + "rd Birthday!"
TypeError: Can't convert 'int' object to str implicitly

这是一个类型错误,意味着Python无法识别你使用的信息。在这个示例中,Python发现你使用了一个值为整数( int )的变量,但它不知道该如何解读这个值。Python知道,这个变量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数 str() ,它让Python将非字符串值表示为字符串:

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

python之禅

1.Now is better than never.

你可以将余生都用来学习Python和编程的纷繁难懂之处,但这样你什么项目都完不成。不要企图编写完美无缺的代码;先编写行之有效的代码,再决定是对其做进一步改进,还是转而去编写新代码。

3 列表

3.1 什么是列表

列表由一系列按特定顺序排列元素组成。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如 letters 、 digits 或 names )是个不错的主意。

在Python中,用方括号( [] )来表示列表,并用逗号来分隔其中的元素。例如,这个列表包含几种自行车:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)		# 输出 ['trek', 'cannondale', 'redline', 'specialized']
3.1.1 列表操作

列表是有序的集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])		# 输出 trek

列表末尾插入元素

motorcycles = ['honda', 'yamaha', 'suzuki']

motorcycles.append('hahaha')	# 往列表末尾插入 hahaha

列表中插入元素

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)	# ['ducati', 'honda', 'yamaha', 'suzuki']

列表中删除元素

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)	# ['honda', 'yamaha', 'suzuki']
del motorcycles[0]	# 删除位于 0 位置的元素
print(motorcycles)	# ['yamaha', 'suzuki']

list.pop():弹出列表最后一个元素,如果有值,则弹出指定元素

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)	# ['honda', 'yamaha', 'suzuki']
popped_motorcycle = motorcycles.pop()	# 弹出列表最后一个元素,栈
print(motorcycles)	# ['yamaha', 'yamaha']
print(popped_motorcycle)	# suzuki

4 类与对象

4.1 定义和使用类

创建Dog类,与java十分类似。
dog.py

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title() + " rolled over!")	
        

my_dog = Dog('willie', 6)
your_dog = Dog('lucy', 3)

print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + "years old.")

my_dog.roll_over()
my_dog.sit()

your_dog.sit()

__init__() 是一个特殊的方法,每当你根据 Dog 类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。

4.2 继承

一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

4.2.1 子类的方法 init()

创建一个车的子类,电动车

class Car():
    """一次模拟汽车的简单尝试"""
    def __init__(self, make, model, year):
        self.make = make    # 制造商
        self.model = model  # 型号
        self.year = year    # 生产年份
        self.odometer_reading = 0   # 里程数

    def get_descriptive_name(self):
        """获取所有信息"""
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()

    def read_odometer(self):
        """看车开了多远"""
        print("This car has " + str(self.odometer_reading) + " miles on it.")

    def update_odometer(self, mileage):
        """读取里程数"""
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer!")

    def increment_odometer(self, miles):
        """开车,增加里程数"""
        self.odometer_reading += miles


class ElectricCar(Car):
    """电动汽车的独特之处"""

    def __init__(self, make, model, year):
        """初始化父类的属性,继承"""
        super().__init__(make, model, year)


my_tesla = ElectricCar('tesla', 'model s', 2016)

print(my_tesla.get_descriptive_name())
  • 创建子类时,父类必须包含在当前文件中,且位于子类前面。
  • 定义子类时,必须在括号内指定父类的名称
4.2.2 子类添加额外的属性

给子类添加额外的属性–电瓶。

class Car():
   snip


class ElectricCar(Car):
    def __init__(self, make, model, year):
        """初始化父类的属性,继承"""
        super().__init__(make, model, year)
        self.battery_size = 70

    def describe_battery(self):
        """打印一条描述电瓶容量的消息"""
        print("This car has a " + str(self.battery_size) + "-kWh battery.")

my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
4.2.3 重写父类方法
def ElectricCar(Car):
	-- snip --
	def fill_gas_tank():
	"""电动汽车没有油箱"""
		print("This car doesn't need a gas tank!")

4.3 导入类

在python中,一个文件就是一个模块,文件名即模块名
在car.py文件(模块名car)中,我们定义了一个类Car,现在想在mycar.py文件中使用它from car import Car

在car模块中导入多个类,from car import Car, ElectricCar

导入整个模块,import car

5 文件操作

5.1 读取整个文件

存在文本文件,pi_digits.txt

3.1415926535
8979323846
2643383279
with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)
  • open()打开文件pi_digits.txt要以任何方式使用文件——哪怕仅仅是打印其内容,都得先打开文件,这样才能访问它
  • 函数open()接受一个参数:要打开的文件的名称。

你可能感兴趣的:(学习总结)